MySQL慢查詢日誌相關筆記

2021-09-12 11:18:38 字數 1261 閱讀 5263

mysql優化sql,針對慢sql語句的查詢及相關配置。

相關命令:

#顯示慢查詢sql語句數量

show

global

status

like

'%slow_queries%'

;#檢視是否開啟慢查詢日誌,並顯示日誌存放位置

show variables like

'%slow_query_log%'

;#sql執行時間超過mysql變數long_query_time時則被記錄為慢sql(記錄到日誌中)。

show

global variables like

'%long_query_time%'

;

需要永久開啟慢sql查詢日誌,需要在my.ini(或my.cnf等)配置檔案中的[mysqld]下新增相關配置:

#輸出形式為檔案

log-output=

file

#1: 開啟 | 0:不開啟

slow-query-log=

0#慢sql日誌存放路徑

slow_query_log_file=

"desktop-hiogk6k-slow.log"

#慢sql語句統計時間(超過該閾值則記錄中慢sql日誌中)

long_query_time=

10

配置完畢後需要重啟mysql服務。

mysql還提供了日誌分析工具:mysqldumpslow

語法格式為:

mysqldumpslow[opts…] [logs…]

簡單相關示例
#得到返回記錄集最多的15個sql

mysqldumpslow -s r -t 15

[要查詢的日誌檔案路徑]

#得到訪問次數最多的15個sql

mysqldumpslow -s c -t 15

[要查詢的日誌檔案路徑]

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

mysqldumpslow -s t -t 20

-g "left join"

[要查詢的日誌檔案路徑]

mysql慢查詢日誌相關操作

查詢是否開啟mysql慢查詢日誌 檢視是否記錄無索引的sql 將沒有索引的sql記錄到日誌表 set global log queries not using indexes on 查詢多長時間的sql會記錄日誌 我這裡是10秒 查詢慢查詢日誌儲存位置 設定日誌儲存路徑 set global slo...

mysql查詢慢日誌與相關運用!

慢查詢日誌概念 mysql的慢查詢日誌是mysql提供的一種日誌記錄,它用來記錄在mysql中響應時間超過閥值的語句,具體指執行時間超過long query time值的sql,則會被記錄到慢查詢日誌中。long query time的預設值為10,意思是執行10s以上的語句。預設情況下,mysql...

mysql開啟慢查詢日誌 MySQL慢日誌體系建設

慢查詢日誌是mysql提供的一種日誌記錄,用來記錄在mysql中響應時間超過閾值的sql語句,在很大程度上會影響資料庫整體的效能,是mysql優化的乙個重要方向。在58的雲db平台建設中,慢sql系統作為乙個非常重要功能模組,不僅是dba日常運維使用,我們也希望通過該功能可以協助開發人員更快速定位業...