Mysql的慢查詢

2022-08-23 13:42:12 字數 1530 閱讀 9926

慢查詢日誌,顧名思義,就是查詢慢的日誌,是指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中執行起來不 ...