在開發項目中,我們可以通過MySQL的慢查詢日志對有效率問題的SQL進行監控。
下面一些命令是開啟日志:
查找慢查詢日志文件的目錄
show variables like 'slow_query_log'
設置慢日志文件目錄文件
set global slow_query_log_file='home/mysql/sql_log/mysql_slow.log'
是否把沒有使用索引的sql記錄在日志中
set global log_queries_not_using_indexes=on
設置超過多少秒的sql記錄在日志中
set global long_query_time=1
在這里這個時間通常比較大,最好設置在0.01s比較好,更具自己的情況而定。
下面我們實際的來執行一下命令:
首先查看日志文件位置:
可以看出我們的slow_query_log是off,說明我們沒有開啟慢查日志。
通過show variables like '%log'
命令查看日志的狀態,如果我們的log_queries_not_using_indexes選項為OFF,
那我們就需要對他設置為on開啟。
然后在通過命令查看long_query_time的值是否被設置,如果為0,就說明不管是什么查詢都會被記錄在日志當中。
這里需要注意在生成環境中,短時間可能會有大量的日志。
下面我們看下日志的存儲格式:
格式如下:
#查詢的執行時間#Time:140606 12:30:17#SQL執行的主機信息#User@Host:root[root] @ localhost []#SQL的執行信息,查詢執行時間 鎖定時間 發送的行數和掃描的行數#Query_time:0.000031 Locak_time:0.000000 Rows_sent:0 Rows_examined:0 #SQL執行時間SET timestamp=1402029017;#執行的SQL內容show tables;
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。
新聞熱點
疑難解答