|
啟用 slow log
有兩種啟用方式:1, 在my.cnf 里 通過 log-slow-queries[=file_name] 2, 在mysqld進程啟動時,指定--log-slow-queries[=file_name]選項比較的五款常用工具
mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter mysqldumpslow, mysql官方提供的慢查詢日志分析工具. 輸出圖表如下:

mysqlsla, hackmysql.com推出的一款日志分析工具(該網站還維護了 mysqlreport, mysqlidxchk 等比較實用的mysql工具)

格式說明如下:總查詢次數 (queries total), 去重后的sql數量 (unique)輸出報表的內容排序(sorted by)最重大的慢sql統計信息, 包括 平均執行時間, 等待鎖時間, 結果行的總數, 掃描的行總數.
Count, sql的執行次數及占總的slow log數量的百分比.Time, 執行時間, 包括總時間, 平均時間, 最小, 最大時間, 時間占到總慢sql時間的百分比.95% of Time, 去除最快和最慢的sql, 覆蓋率占95%的sql的執行時間.Lock Time, 等待鎖的時間.95% of Lock , 95%的慢sql等待鎖時間.Rows sent, 結果行統計數量, 包括平均, 最小, 最大數量.
Rows examined, 掃描的行數量.Database, 屬于哪個數據庫Users, 哪個用戶,IP, 占到所有用戶執行的sql百分比
Query abstract, 抽象后的sql語句Query sample, sql語句
除了以上的輸出, 官方還提供了很多定制化參數, 是一款不可多得的好工具.
mysql-explain-slow-log, 德國人寫的一個perl腳本.
http://www.willamowius.de/mysql-tools.html


http://code.google.com/p/mysql-log-filter/

特色功能除了統計信息外, 還針對輸出內容做了排版和格式化, 保證整體輸出的簡潔. 喜歡簡潔報表的朋友, 推薦使用一下.myprofi, 純php寫的一個開源分析工具.項目在 sourceforge 上.
http://myprofi.sourceforge.NET/

從整體輸出樣式來看, 比mysql-log-filter還要簡潔. 省去了很多不必要的內容. 對于只想看sql語句及執行次數的用戶來說, 比較推薦.
總結
工具/功能 | 一般統計信息 | 高級統計信息 | 腳本 | 優勢 |
mysqldumpslow | 支持 | 不支持 | perl | mysql官方自帶 |
mysqlsla | 支持 | 支持 | perl | 功能強大,數據報表齊全,定制化能力強. |
mysql-explain-slow-log | 支持 | 不支持 | perl | 無 |
mysql-log-filter | 支持 | 部分支持 | Python or php | 不失功能的前提下,保持輸出簡潔 |
myprofi | 支持 | 不支持 | php | 非常精簡 |
php技術:五款常用mysql slow log分析工具的比較分析,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。