mysql調優---研發可以做什麼

firefule發表於2021-09-09

一,表結構以及索引最佳化
1,分庫分表,讀寫分離;
2,為欄位選擇合適的資料型別
3,將欄位多的表分解成多個表,增加中間表
4,混用正規化與反正規化,但避免濫用(比如某一張大表冗餘另一張大表的欄位,避免連線查詢)
5,為查詢建立必要索引,但避免濫用
6,儘可能的使用not null

二,sql語句最佳化
1,尋找最需要最佳化的語句:分析慢查詢日誌(參考:https://www.cnblogs.com/saneri/p/6656161.html)
2,利用分析工具:explain,profile(重點關注是否使用索引,掃描了多少行,profile參考:
3,避免使用select * ,只取需要的列
4 ,儘量使用prepared statements(參見:http://www.cnblogs.com/micrari/p/7112781.html)
5,使用索引掃描來排序*(即order by 的欄位最好是索引列)

附:資料庫設計的規則請參照我的另一篇文章:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1834/viewspace-2822688/,如需轉載,請註明出處,否則將追究法律責任。

相關文章