開啟mysql慢查詢日志並使用mysqldumpslow命令查看 mysql服務器有一項功能,可以檢測到哪條sql語句查詢得比較慢,就是慢查詢slowlog,現在介紹如何開啟。 在[mysqld]下面增加如下代碼: long_query_time = 1 log-slow-queries = /usr/local/mysql/data/slow.log log-queries-not-using-indexes long_query_time = 1 #定義超過1秒的查詢計數到變量Slow_queries。 log-slow-queries = /usr/local/mysql/data/slow.log #定義慢查詢日志路徑。 log-queries-not-using-indexes #未使用索引的查詢也被記錄到慢查詢日志中(可選)。 mysql自帶了一個查看慢日志的工具mysqldumpslow。 執行mysqldumpslow --h可以查看幫助信息。 主要介紹兩個參數-s和-t -s 這個是排序參數,可選的有: al: 平均鎖定時間 ar: 平均返回記錄數 at: 平均查詢時間 c: 計數 l: 鎖定時間 r: 返回記錄 t: 查詢時間 -t n 顯示頭n條記錄。 實例: mysqldumpslow -s c -t 20 host-slow.log mysqldumpslow -s r -t 20 host-slow.log 上述命令可以看出訪問次數最多的20個sql語句和返回記錄集最多的20個sql。 mysqldumpslow -t 10 -s t -g “left join” host-slow.log 這個是按照時間返回前10條裡面含有左連接的sql語句。 用了這個工具就可以查詢出來那些sql語句是性能的瓶頸,進行優化,比如加索引,該應用的實現方式等。