初涉MySql性能優化

1.爲什麼要進行數據庫性能優化

a避免因數據庫連接Timeout導致服務器報錯(以5開頭,服務器內部錯誤)

b節省資源的開銷(數據冗餘 不合適的數據類型導致存儲空間浪費)

c提高查詢速度

2.該怎麼優化:


可以從SQL及索引 數據庫表結構 系統配置和硬件四個方面考慮 

4.SQL優化(針對查詢優化):

開啓MySql慢查日誌對有效率問題的sql進行監控,然後用mysqldumpslow(官方工具)或pt-query-digest(信息全面)日誌分析工具分析日誌,針對執行次數多且每次查詢佔用時間長sql  IO消耗大的sql以及未命中索引的sql。也可以使用explain查看sql執行計劃,找到優化思路

5索引優化

選擇合適的列建立索引:

a 在where從句 group by從句 order by從句 on從句中出現的列

b索引字段越小越好

c離散程度大的列放到聯合索引的前面

索引的維護(分析數據庫索引 刪除冗餘 棄用索引)   索引維護工具 :pt-duplicate-checker

6.數據庫表結構設計

a選擇合適的數據類型

b對於需要使用text bin類型,選擇分表

c遵守範式設計很好的規避字段冗餘,分表會影響導致查詢效率,根據業務需求合理使用反範式設計,用磁盤空間換取執行時間

7系統配置:

修改網路配置 增加數據庫服務器tcp支持的隊列數 


修改操作系統打開文件數的限制


8硬件配置

 

注:參考慕課  性能優化之mysql優化


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章