修改/etc/my.cnf文件
long_query_time=1 \\查詢超時1秒即爲慢查詢
slow_query_log_file=/tmp/slow.log \\慢查詢日誌存放位置
在mysql控制檯設置
mysql> set long_query_time=1; \\設置查詢超時1秒即爲慢查詢
mysql> set global slow_query_log_file='日誌位置' \\設置慢查詢日誌存放位置
mysql> show variables like 'long%'; \\查看慢查詢的條件
mysql> show variables like 'slow%'; \\查看慢查詢詳細信息
mysql> set global slow_query_log='ON' \\開啓慢查詢
mysqldumpslow慢查詢工具
選項:
-s 是表示按照何種方式排序; c 按照記錄次數來排序 t 按照時間來排序 l 按照查詢時間來排序 r 按照返回的記錄數來排序 ac 按照記錄次數來倒序 at 按照時間來倒序 al 按照查詢時間來倒序 ar 按照返回的記錄數來倒序; -t 是top n的意思,即爲返回前面多少條的數據; -g 後邊可以寫一個正則匹配模式,大小寫不敏感的;
例:
mysqldumpslow -s c -t 10 slow.log 輸出記錄次數最多的10條SQL語句
mysqldumpslow -s r -t 10 slow.log 得到返回記錄集最多的10個查詢。
mysqldumpslow -s t -t 10 -g “left join” slow.log 得到按照時間排序的前10條裏面含有左連接的查詢語句。