mysql優化 - mysql 單表優化求方案
問題描述
背景數據量:數據量大約3000w+ ,數據大小10g,索引30g,如下圖。
需求:需要比較多的group by 操作和全量數據操作。
問題:各種group by 特別慢。
已嘗試方案:1:嘗試放es,但操作非常不方便。
2:數據表分表,成本比較大,從時間和業務角度都沒有比較好的分表方案。
3:讀寫分離,分離之后效果提升不大。
4:在嘗試postgresql,但需要業務較大的變動,暫未試試。
求存儲或者優化方案,最好是存儲在mysql上優化,其他存儲介質也可以。
問題解答
回答1:大表優化無非就建索引、數據水平切分、豎直切分,該用的你都測了,沒見你把表結構和索引截出來也不好說,索引不要建太多。建議是從業務層面上去優化,看是否需要分頁,即使是全量數據操作,用預統計是否合適,是否需要冗余字段來讓group by更充分利用索引。
回答2:group by 優化方案Loose Index Scan和Tight Index Scan 。中文叫做松散索引掃描和緊湊索引掃描具體可以參考官方文檔http://dev.mysql.com/doc/refm...
回答3:sphinx 試試?
回答4:postgresql對多表關聯和count支持速度怎樣?測試的mysql多表關聯,慢!索引優化確實很關鍵;還有就是多表關聯后的視圖,排序、count分頁等速度更加難以想象。這里想回問下你們怎么解決多表關聯、視圖、分頁的問題,看樣索引是真沒少建啊。
回答5:該用的你都測試了,全量數據操作我也沒想出來什么好的辦法了。對于group by操作,如果是固定的sql(業務需要),
1)可以考慮用存儲過程將常用sql的結果定時生成新表的數據。2)將常用的sql字段分拆,再優化
相關文章:
1. 求大神幫我看看是哪里寫錯了 感謝細心解答2. javascript - 數組原聲方法中的一段代碼3. html - eclipse 標簽錯誤4. php自學從哪里開始?5. python - from ..xxxx import xxxx到底是什么意思呢?6. 網頁爬蟲 - python爬蟲翻頁問題,請問各位大神我這段代碼怎樣翻頁,還有價格要登陸后才能看到,應該怎么解決7. 數據庫 - MySQL 單表500W+數據,查詢超時,如何優化呢?8. javascript - JS設置Video視頻對象的currentTime時出現了問題,IE,Edge,火狐,都可以設置,反而chrom卻...9. phpstady在win10上運行10. github - 利用Python 自動化部署問題
