mysql slow log 是用來記錄執行時間較長(超過long_query_time秒)的sql的一種日志工具
啟用 slow log
有兩種啟用方式:
在f 裡 通過 logslowqueries[=file_name]
在mysqld進程啟動時指定–logslowqueries[=file_name]選項
比較的五款常用工具
mysqldumpslow mysqlsla myprofi mysqlexplainslowlog mysqllogfilter
mysqldumpslow mysql官方提供的慢查詢日志分析工具 輸出圖表如下:
![](http://tw.wingwit.com/Article/UploadFiles/201311/2013112321002653.jpg)
主要功能是 統計不同慢sql的
出現次數(Count)
執行最長時間(Time)
累計總耗費時間(Time)
等待鎖的時間(Lock)
發送給客戶端的行總數(Rows)
掃描的行總數(Rows)
用戶以及sql語句本身(抽象了一下格式 比如 limit 用 limit NN 表示)
mysqlsla 推出的一款日志分析工具(該網站還維護了 mysqlreport mysqlidxchk 等比較實用的mysql工具)
![](http://tw.wingwit.com/Article/UploadFiles/201311/2013112321002651.jpg)
整體來說 功能非常強大 數據報表非常有利於分析慢查詢的原因 包括執行頻率 數據量 查詢消耗等
格式說明如下:
總查詢次數 (queries total) 去重後的sql數量 (unique)
輸出報表的內容排序(sorted by)
最重大的慢sql統計信息 包括 平均執行時間 等待鎖時間 結果行的總數 掃描的行總數
Count sql的執行次數及占總的slow log數量的百分比
Time 執行時間 包括總時間 平均時間 最小 最大時間 時間占到總慢sql時間的百分比
% of Time 去除最快和最慢的sql 覆蓋率占%的sql的執行時間
Lock Time 等待鎖的時間
% of Lock %的慢sql等待鎖時間
Rows sent 結果行統計數量 包括平均 最小 最大數量
Rows examined 掃描的行數量
Database 屬於哪個數據庫
Users 哪個用戶IP 占到所有用戶執行的sql百分比
Query abstract 抽象後的sql語句
Query sample sql語句
除了以上的輸出 官方還提供了很多定制化參數 是一款不可多得的好工具
mysqlexplainslowlog 德國人寫的一個perl腳本
![](http://tw.wingwit.com/Article/UploadFiles/201311/2013112321002630.jpg)
功能上有點瑕疵 不僅把所有的 slow log 打印到屏幕上 而且統計也只有數量而已 不推薦使用
mysqllogfilter google code上找到的一個分析工具提供了 python 和 php 兩種可執行的腳本
logfilter/
![](http://tw.wingwit.com/Article/UploadFiles/201311/2013112321002656.jpg)
功能上比官方的mysqldumpslow 多了查詢時間的統計信息(平均最大 累計) 其他功能都與 mysqldumpslow類似
特色功能除了統計信息外 還針對輸出內容做了排版和格式化 保證整體輸出的簡潔 喜歡簡潔報表的朋友 推薦使用一下
myprofi 純php寫的一個開源分析工具項目在 sourceforge 上
![](http://tw.wingwit.com/Article/UploadFiles/201311/2013112321002685.jpg)
功能上 列出了總的慢查詢次數和類型 去重後的sql語句 執行次數及其占總的slow log數量的百分比
從整體輸出樣式來看 比mysqllogfilter還要簡潔 省去了很多不必要的內容 對於只想看sql語句及執行次數的用戶來說 比較推薦
總結
工具/功能
一般統計信息
高級統計信息
腳本
優勢
mysqldumpslow
支持
不支持
perl
mysql官方自帶
mysqlsla
支持
支持
perl
功能強大數據報表齊全定制化能力強
mysqlexplainslowlog
支持
不支持
perl
無
mysqllogfilter
支持
部分支持
python or php
不失功能的前提下保持輸出簡潔
myprofi
支持
不支持
php
非常精簡
From:http://tw.wingwit.com/Article/program/MySQL/201311/29428.html