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

mysqldumpslow 慢查詢分析工具使用教學與實戰範例

     編輯:MySQL 綜合教學

mysqldumpslow 慢查詢分析工具使用教學與實戰範例

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

輸出欄位解讀

mysqldumpslow 輸出範例

  • Count:執行次數(N 代表參數化後的佔位符)
  • Time:總耗時 / 最大耗時 / 平均耗時
  • Lock:總鎖定時間 / 最大鎖定時間
  • Rows:總回傳行數 / 最大回傳行數

更多範例:

範例2 範例3 正則過濾範例

啟用慢查詢日誌

# 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

分析建議

  • 優先優化 平均時間長 且 執行次數多 的查詢
  • 關注 Lock 時間 高的語句,可能有索引缺失或鎖競爭
  • 搭配 EXPLAIN 分析執行計畫
  • 定期歸檔慢查詢日誌避免磁碟滿載
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved