mysqldumpslow.pl 是 MySQL 官方提供的 Perl 腳本,用於解析並匯總慢查詢日誌。本文記錄在 Windows 環境下的完整配置與使用流程。
ActivePerl_5.16.2.3010812913.msi)並安裝bin 目錄加入系統環境變數 PATHmysqldumpslow.pl(通常在 bin 目錄)C:\Program Files\MySQL\MySQL Server 5.6\bin>perl mysqldumpslow.pl --help
-s ORDER 排序方式:al(平均鎖時間) at(平均查詢時間) ar(平均返回行數) c(次數) l(鎖時間) r(返回行數) t(查詢時間)
-r 反向排序(大值在後)
-t NUM 顯示前 N 條
-a 不抽象化數字為 N、字串為 'S'
-g PATTERN 正則過濾語句
將線上 slow.log 複製到本地,執行:
mysqldumpslow.pl -r -s c -a -t 10 slow.log > E:\slow.txt
-s c:按執行次數排序-r:倒序(高頻在前)-a:保留原始 SQL 細節-t 10:僅輸出前 10 條Count: 23 Time=505.55s (11627s) Lock=0.00s (0s) Rows=30740.8 (707039)
SELECT DISTINCT u.name,o.full_name FROM pub_user u...
若執行報錯,檢查 my.ini 是否配置 slow_query_log、slow_query_log_file、long_query_time 等參數,修正後重啟 MySQL 服務即可。
善用 mysqldumpslow.pl 的排序、過濾、抽象化功能,能快速定位高頻、高耗時、大結果集的慢 SQL,為索引優化、SQL 重寫提供精準依據。