?
Mysql Slow Query Log
MYSQL慢查詢日志是用來記錄執行時間超過指定時間的查詢語句。通過慢查詢日志,可以查找出哪些查詢語句的執行效率很低,以便進行優化。一般建議開啟,它對服務器性能的影響微乎其微,但是可以記錄mysql服務器上執行了很長時間的查詢語句。可以幫助定位性能問題。慢查詢日志支持將日志記錄寫入文件,也支持將日志記錄寫入數據庫表。
一 MYSQL慢查詢日志配置
[mysqld]
#是否開啟慢查詢日志,1表示開啟,0表示關閉。
slow_query_log = 1
?
二 MYSQL慢查詢日志查詢
mysql> show variables like '%slow%';
三 MYSQL慢查詢日志主要參數
1 log-slow-queries
舊版(5.6以下版本)MySQL數據庫慢查詢日志存儲路徑。可以不設置該參數,系統則會默認給一個缺省的文件host_name-slow.log。
2 slow-query-log-file
新版(5.6及以上版本)MySQL數據庫慢查詢日志存儲路徑。可以不設置該參數,系統則會默認給一個缺省的文件host_name-slow.log。
3 long_query_time
慢查詢閾值,當查詢時間多于設定的閾值時,記錄日志。
4 log-slow-admin-statements?
開啟記錄管理型慢SQL。
5 log_queries_not_using_indexe
未使用索引的查詢也被記錄到慢查詢日志中(可選項),默認情況下,此變量為0,這意味著沒有限制。
6 log_output
日志存儲方式。log_output='FILE'表示將日志存入文件,默認值是'FILE'。log_output='TABLE'表示將日志存入數據庫,這樣日志信息就會被寫入到mysql.slow_log表中。MySQL數據庫支持同時兩種日志存儲方式,配置的時候以逗號隔開即可,如:log_output='FILE,TABLE'。日志記錄到系統的專用日志表中,要比記錄到文件耗費更多的系統資源,因此對于需要啟用慢查詢日志,又需要能夠獲得更高的系統性能,那么建議優先記錄到文件。
?
?