慢查詢日誌,顧名思義,就是查詢慢的日誌,是指mysql記錄所有執行超過
long_query_time
引數設定的時間閾值的
sql語句的日誌。該日誌能為
sql語句的優化帶來很好的幫助。預設情況下,慢查詢日誌是關閉的,要使用慢查詢日誌功能,首先要開啟慢查詢日誌功能。
配置了慢查詢後,它會記錄符合條件的sql
包括:通過下面命令檢視下上面的配置:
show variables like '%slow_query_log%'
show variables like '%slow_query_log_file%'
show variables like '%long_query_time%'
show variables like '%log_queries_not_using_indexes%'
show variables like 'log_output'
設定慢查詢的引數:
set global long_query_time=0; ---預設
10秒,這裡為了演示方便設定為
0set global slow_query_log = 1; --開啟慢查詢日誌
set global log_output='file,table' --專案開發中日誌只能記錄在日誌檔案中,不能記表中
設定完成後,查詢一些列表可以發現慢查詢的日誌檔案裡面有資料了。
但是在我的電腦上,不知道為啥,這個時間總是不能正常的執行sql結果。更新不了;
所以我們用這樣的方法就可以了:
找到my.cnf,新增如下內容
# 新增慢查詢日誌log_output=file
slow_query_log=on
slow_query_log_file = /tmp/mysql-slow.log
log_queries_not_using_indexes=on
long_query_time = 1
慢查詢的日誌記錄非常多,要從裡面找尋一條查詢慢的日誌並不是很容易的事情,一般來說都需要一些工具輔助才能快速定位到需要優化的sql語句,下面介紹兩個慢查詢輔助工具
常用的慢查詢日誌分析工具,彙總除查詢條件外其他完全相同的sql,並將分析結果按照引數中所指定的順序輸出。
語法:
mysqldumpslow -s r -t 10 slow-mysql.log
-s order (c,t,l,r,at,al,ar)
c:總次數
t:總時間
l:鎖的時間
r:總資料行
at,al,ar :t,l,r平均數 【例如:
at =
總時間/
總次數】
-t top 指定取前面幾天作為結果輸出
執行 mysqldumpslow.pl 要安裝乙個程式,這個是prel命令,具體的可以參考
mysql 慢查詢 MySQL慢查詢
一 簡介 開啟慢查詢日誌,可以讓mysql記錄下查詢超過指定時間的語句,通過定位分析效能的瓶頸,才能更好的優化資料庫系統的效能。二 引數說明 slow query log 慢查詢開啟狀態 slow query log file 慢查詢日誌存放的位置 這個目錄需要mysql的執行帳號的可寫許可權,一般...
mysql的慢查詢配置 mysql慢查詢配置
1.慢查詢有什麼用?能記錄下所有執行超過long query time時間的sql語句,幫你找到執行慢的sql,方便我們對這些sql進行優化.2.如何開啟慢查詢?首先我們先檢視mysql伺服器的慢查詢狀態是否開啟.我們可以看到當前log slow queries狀態為off,說明當前並沒有開啟慢查詢...
mysql 查詢慢 分析 MYSQL的慢查詢分析
有一段日子了,曾經設定了一次記錄在mysql中查詢慢於1秒鐘的sql語句。剛才突然回想設定的方法,有幾個引數的名稱死活回憶不起來了,於是重新整理一下,自己做個筆記。對於排查問題找出效能瓶頸來說,最容易發現並解決的問題就是mysql的慢查詢以及沒有得用索引的查詢。ok,開始找出mysql中執行起來不 ...