說明幾種Mysql多字段大表的優化方法
發表時間:2023-08-31 來源:明輝站整理相關軟件相關文章人氣:
[摘要]有一個大數據表,有30個字段,int varchar text 字段都有,1000W+數據,每天都會增加,經常搜索的字段有10個,這個怎么優化?請教了一個人,才得到差不多的答案,感覺這種問題有點假,現實中基本不會出這種問題吧?優化方案:主從同步+讀寫分離:這個表在有設備條件的情況下,讀寫分離,這...
有一個大數據表,有30個字段,
int
varchar
text
字段都有,1000W+數據,每天都會增加,經常搜索的字段有10個,這個怎么優化?
請教了一個人,才得到差不多的答案,感覺這種問題有點假,現實中基本不會出這種問題吧?
優化方案:
主從同步+讀寫分離:
這個表在有設備條件的情況下,讀寫分離,這樣能減少很多壓力,而且數據穩定性也能提高
縱向分表:
根據原則,每個表最多不要超過5個索引,縱向拆分字段,將部分字段拆到一個新表
通常我們按以下原則進行垂直拆分:(先區分這個表中的冷熱數據字段)
把不常用的字段單獨放在一張表;
把text
,blob
等大字段拆分出來放在附表中;
經常組合查詢的列放在一張表中;
缺點是:很多邏輯需要重寫,帶來很大的工作量。
利用表分區:
這個是推薦的一個解決方案,不會帶來重寫邏輯等,可以根據時間來進行表分區,相當于在同一個磁盤上,表的數據存在不同的文件夾內,能夠極大的提高查詢速度。
橫向分表:
1000W條數據不少的,會帶來一些運維壓力,備份的時候,單表備份所需時間會很長,所以可以根據服務器硬件條件進行水平分表,每個表有多少數據為準。
有不好的地方,請指點一下,謝謝。
以上就是介紹幾種Mysql多字段大表的優化方法的詳細內容,更多請關注php中文網其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。