1. 程式人生 > 其它 >SQL優化步驟

SQL優化步驟

SQL優化的常用思路

S1 :觀察伺服器的狀態是否存在週期性的波動,如果存在週期性波動,有可能是週期性節點的原因,嘗試加快取或者更改快取失效策略

S2 :開啟慢查詢。慢查詢可以幫我們定位執行慢的 SQL 語句。我們可以通過設定long_query_time引數定義“慢”的閾值。當收集上來這些慢查詢之後,我們就可以通過分析工具對慢查詢日誌進行分析

S3:獲取執行慢的 SQL 語句後,可以針對性地用 EXPLAIN 檢視對應 SQL 語句的執行計劃,或者使用 SHOW PROFILE 檢視 SQL 中每一個步驟的時間成本。分析 SQL 查詢慢的具體原因是因為執行時間長,還是等待時間長

A2:等待時間長。調優伺服器的引數,比如適當增加資料庫緩衝池等。

A3:執行時間長。考慮是索引設計的問題,查詢關聯的資料表過多,資料表的欄位設計是否有問題,進行對應的調整。

A4:SQL查詢到達瓶頸。需要考慮增加伺服器,採用讀寫分離的架構,或者考慮對資料庫分庫分表,比如垂直分庫、垂直分表和水平分表等。

慢查詢、EXPLAIN 和 SHOW PROFILE是三個十分有效的定位SQL問題的工具,需要熟練應用