首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 性能優化核心三步法:EXPLAIN、Profile、Slow Log

     編輯:MySQL 綜合教學

MySQL 性能優化核心三步法:EXPLAIN、Profile、Slow Log

步驟一:EXPLAIN 看執行計劃

EXPLAIN SELECT * FROM orders WHERE user_id=100 AND status=1 ORDER BY create_time DESC LIMIT 20;

重點檢查:type、key、rows、Extra。

步驟二:Profile 看執行耗時細分

SET profiling = 1;
-- 執行目標 SQL
SELECT * FROM orders WHERE user_id=100 AND status=1 ORDER BY create_time DESC LIMIT 20;
-- 查看 Profile
SHOW PROFILE FOR QUERY 1;

輸出各階段耗時:starting、checking permissions、Opening tables、init、System lock、optimizing、statistics、preparing、executing、Sending data 等。重點關注 Sending data、executing、Sorting result 高耗時階段。

步驟三:Slow Log 定位高頻慢查詢

[mysqld]
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1
log_queries_not_using_indexes = 1

定期用 pt-query-digest 或 mysqldumpslow 分析,產出 Top N 慢查詢報表,指導索引優化、SQL 改寫、分庫分表決策。

綜合優化清單

  1. 慢查詢日誌開啟、閾值合理(0.5-1s)。
  2. 核心業務 SQL 至少每季度 EXPLAIN 一次。
  3. 新上線 SQL 必須經 Profile 驗證無 filesort/temporary。
  4. 索引覆蓋率、選擇性定期審計。
  5. 大表評估分區/分庫分表/歸檔策略。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved