最近也在看如何用幾千萬的數(shù)據(jù)解決大數(shù)據(jù)量的問題。
其中,我找到了兩個(gè)比較好的解決方案,一個(gè)是我的貓,另一個(gè)是分享JDBC。
剛剛看了MyCAT的官方文檔,里面提供了子數(shù)據(jù)庫、子表、碎片的概念。
如果一個(gè)表的數(shù)據(jù)量太大,可以根據(jù)表中的字段分成幾個(gè)片段。
例如,5000萬個(gè)數(shù)據(jù)可以分成10個(gè)片段,每個(gè)片段500萬個(gè)。
當(dāng)你查詢的時(shí)候,他會根據(jù)路由規(guī)則移動(dòng)哪些件被查詢,然后聚合數(shù)據(jù)。
具體來說,你需要根據(jù)自己的業(yè)務(wù)來拆分。
只是在看書的時(shí)候看到過共享jdbc,沒有具體研究過。
數(shù)通暢聯(lián)MySQL數(shù)據(jù)庫是國內(nèi)各大公司最常用的數(shù)據(jù)庫之一,MySQL是開源的關(guān)系數(shù)據(jù)庫。
至于數(shù)據(jù)庫的優(yōu)化,我覺得可以從以下幾個(gè)方面做:1.數(shù)據(jù)庫配置優(yōu)化安裝MySQL數(shù)據(jù)庫時(shí),可以對數(shù)據(jù)庫進(jìn)行優(yōu)化,增加數(shù)據(jù)庫的連接數(shù),增加訪問量。
訪問量的增加可以提高查詢速度。
添加緩存等優(yōu)化數(shù)據(jù)庫,查詢時(shí)可以直接在緩存中查詢數(shù)據(jù);2.表結(jié)構(gòu)優(yōu)化在建立表結(jié)構(gòu)時(shí),不要在一個(gè)表中創(chuàng)建過多的字段。
如果一個(gè)函數(shù)的表結(jié)構(gòu)中有多個(gè)字段,可以嘗試將字段分開,分別構(gòu)建兩個(gè)或多個(gè)表。
并且字段長度足夠,不要設(shè)置太長;4.SQL查詢優(yōu)化可以通過優(yōu)化SQL查詢來優(yōu)化,也可以通過添加查詢條件來優(yōu)化SQL。
在多表相關(guān)查詢中,盡量不要使用自相關(guān)和全相關(guān),而要使用左右相關(guān)。
語句寫出字段,不要使用lect * from t(表名)的方式。
南京小碼農(nóng)首先分析數(shù)據(jù)量是否真的過大,表格的使用情況,插入和查詢統(tǒng)計(jì)表的效率。
可以查一下mysql的slowlog,然后把耗時(shí)的語句拿出來分析,看看是否可以通過優(yōu)化sql來提高效率。
以上的努力都嘗試過了,但是如果還是有效果的問題,你就要做下一步了。
在單表數(shù)據(jù)量分布的情況下,一般建議分表。
第一,開發(fā)成本低,大部分框架都支持單獨(dú)表的配置。
其次,數(shù)據(jù)還是在一個(gè)數(shù)據(jù)庫里,對查詢影響不大。
本文發(fā)布于:2023-02-28 08:06:07,感謝您對本站的認(rèn)可!
本文鏈接:http://www.newhan.cn/zhishi/a/167754458025114.html
版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。
本文word下載地址:mysql資料庫中,資料量很大的表,有什么優(yōu)化方案么?.doc
本文 PDF 下載地址:mysql資料庫中,資料量很大的表,有什么優(yōu)化方案么?.pdf
| 留言與評論(共有 0 條評論) |