MySQL之慢查詢日誌

2021-12-30 05:52:52 字數 1427 閱讀 3662

慢日誌查詢

概述:在生產環境中,如果要手工分析日誌、查詢、分析sql,顯然是個體力活,mysql提供了日誌分析工具mysqlldumpslow

是什麼?

mysql之慢查詢日誌

怎麼玩?

mysql之慢查詢日誌

檢視命令:show variables like 『%slow_query_log%』;

show variables like '%slow_query_log%';

mysql之慢查詢日誌

mysql之慢查詢日誌

如何開啟慢查詢日誌:命令:set global slow_query_log=1 開啟慢查詢日誌

mysql之慢查詢日誌

mysql之慢查詢日誌

那麼開啟了慢查詢日誌後,什麼樣的sql才會記錄到慢日誌裡面呢??

mysql之慢查詢日誌

case(案例):

檢視當前查詢多少秒算慢

show variables like『%long_query_time%';

如何設定慢的闕值時間

set global long_query_time=3;

為什麼設定後看不出變化:此時需要重新連線或新開乙個會話才能看到修改值。

show global variables like 'long_query_time';

檢視當前系統中有多少條慢查詢記錄

mysql之慢查詢日誌

具體配置

mysql之慢查詢日誌

日誌分析工具mysqldumpslow

檢視mysqlldumpslow的幫助資訊

mysql之慢查詢日誌

s:表示按照任何方式排序;

c:訪問次數

l:鎖定時間

r:返回記錄

t:查詢時間

al:平均鎖定時間

ar:平均返回記錄數

at:平均查詢時間

t:即為返回前面多少條的資料

g:後邊搭配,乙個正則匹配模式,大小寫不敏感

常用參考(例如:)

得到返回記錄集最多的10個sql

mysqldumpslow -s r -t 10 /var/lib/mysql/localhost-slow.log

得到訪問次數最多的10個sql

mysqldumpslow -s c -t 10 /var/lib/mysql/localhost-slow.log

得到按照時間排序的前10條裡面含有左連線的查詢語句

mysqldumpslow -s t -t 10 -g"left join" /var/lib/mysql/localhost-slow.log

另外建議在使用這些命令時結合 | 和more 使用,否則有可能出現爆屏情況

mysqldumpslow -s r -t 10 /var/lib/mysql/localhost-slow.log |more

mysql之慢查詢日誌

一 mysql的慢查詢日誌是mysql提供的用來記錄響應時間超過閾值的語句,預設情況下mysql沒有開啟慢查詢日誌,需要手動開啟,開啟慢查詢日誌對資料庫效能會有一點影響,所以在不調優的情況下不建議開啟慢查詢日誌功能 1 檢視是否開啟慢查詢日誌的命令 show variables like slow ...

MySQL之慢查詢日誌

預設情況下,mysql 資料庫沒有開啟慢查詢日誌,需要我們手動來設定這個引數 如果不是調優需要的話,一般不建議啟動該引數,因為開啟慢查詢日誌會將sql語句寫入日誌,因此或多或少帶來一定的效能影響。sql語句 說明show variables like slow query log 檢視慢查詢日誌是否...

mysql之慢查詢日誌解析

對於mysql效能調優,通常而言有兩種情況.其一是單條查詢語句有問題,導致大幅拖慢查詢速度,契爾氏伺服器出現問題,諸如記憶體耗盡網路異常磁碟耗盡等情況.這時候我們就需要去定位.在高效能mysql 一書中作者給出兩種技術來定位問題 1 通過高頻率呼叫show global status show pr...