1. 程式人生 > >MySQL的簡單優化

MySQL的簡單優化

重復 查詢 掃描 src 監控 img max 子查詢優化 image

一、如何發現需要優化的SQL

主要使用MySQL的慢查日誌對有效率問題的SQL進行監控

第一步:啟動慢查日誌的監控

  • 打開開關,將未使用索引的查詢記錄到慢查日誌中

技術分享圖片

  • 設置查詢時間,當查詢時間大於這個值,就記錄到慢查日誌中

技術分享圖片

  • 打開開關,啟動慢查日誌監控

技術分享圖片

第二步:使用慢查日誌分析工具比如mysqldumpslow或者pt-query-digest來 查看有執行效率問題的SQL

二、如何對某條SQL優化

  • 通過explain查看SQL的執行計劃:

一是執行計劃中SQL是走索引還是全表掃描。如select max 或者select sum之類的,我們可以針對max列創建索引,這樣就可以直接走索引,而不用掃描表。

二是看執行計劃中是否有用到臨時表(比如子查詢),或者文件排序(比如group by或者Order by,沒有用到索引)。

  • 子查詢的優化。一般將子查詢優化為join查詢,但在優化時需要註意關聯間是否有一對多的關系,需要註意重復數據。

MySQL的簡單優化