mysql 中的 slow log 是用來記錄執行時間較長(超過 long_query_time 秒)的 sql 的一種日志工具。
啟用 slow log
在 my.cnf 中設置
- [mysqld]
- slow_query_log=on
- slow_query_log_file=mysql-slow
重啟 MySQL 服務。
五款常用工具
mysqldumpslow
mysql官方提供的慢查詢日志分析工具。輸出圖表如下:
主要功能包括統計不同慢 sql 的
mysqlsla
hackmysql.com 推出的一款日志分析工具(該網站還維護了 mysqlreport,mysqlidxchk 等比較實用的mysql 工具)。
整體來說,功能非常強大。輸出的數據報表非常有利於分析慢查詢的原因,包括執行頻率、數據量、查詢消耗等。
格式說明如下:
除了以上的輸出,官方還提供了很多定制化參數,是一款不可多得的好工具。
mysql-explain-slow-log
德國人寫的一個 perl 腳本。
http://www.willamowius.de/mysql-tools.html
http://www.bt285.cn/content.php?id=1196863
功能上有點瑕疵。不僅把所有的 slow log 打印到屏幕上,而且統計也只有數量而已,不推薦使用。