MySQL的簡單優化
阿新 • • 發佈:2018-10-30
重復 查詢 掃描 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的簡單優化