mysqldumpslow 是 MySQL 內建的慢查詢日誌分析工具,可彙總、排序並顯示最耗資源的 SQL 語句。
| 參數 | 說明 |
|---|---|
| -s ORDER | 排序方式:c次數、t時間、l鎖定、r回傳行數;前綴 a 表平均值(如 at 平均時間) |
| -t NUM | 顯示前 N 筆 |
| -g PATTERN | 正則過濾(不分大小寫) |
| -r | 反向排序 |
1. 依平均查詢時間排序,顯示前 10 筆
mysqldumpslow -s at -t 10 /var/log/mysql/slow.log
2. 依查詢次數排序
mysqldumpslow -s c -t 20 /var/log/mysql/slow.log
3. 過濾特定資料表查詢
mysqldumpslow -g "orders" -s at -t 5 /var/log/mysql/slow.log

更多範例:

# my.cnf / my.ini slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log long_query_time = 1 # 超過 1 秒記錄 log_queries_not_using_indexes = 1
EXPLAIN 分析執行計畫