mysql 慢查詢日誌的使用

2021-07-05 03:33:15 字數 1503 閱讀 9476



一、慢查詢有什麼用

它能記錄下所有執行超過long_query_time時間的sql語句, 幫你找到執行慢的sql, 方便我們對這些sql進行優化.

二、如何開啟慢查詢

1、先檢視mysql伺服器的慢查詢狀態是否開啟.執行如下命令

show variables like '%quer%';

如果當前log_slow_queries狀態為off, 說明當前並沒有開啟慢查詢.

2、開啟慢查詢的方法

在mysql的配置檔案中的mysqld下方新增以下引數

log-slow-queries = d:/mysql/log/mysqld-slow-query.log

long-query-time = 5

#log-long-format

#log-slow-admin-statements

log-queries-not-using-indexes

三、慢查詢日誌分析

我們可以通過慢查詢日誌來找出有問題的sql語句,對其進行優化。隨著mysql資料庫伺服器執行時間的增加,可能會有越來越多的sql查詢被記錄到了慢查詢日誌檔案中,這時要分析該文章就顯得不是很容易了。

mysql提供的mysqldumpslow命令,可以很方便的對慢查詢日誌進行分析 

命令列下,進入 mysql/bin 目錄,輸入 mysqldumpslow ?help

或 --help

可以看到這個工具的引數

其中,參與引數說明

1、-s order,是表示按照何種方式排序,order值有:c、t、l、r 分別是按照記錄次數、時間、查詢時間、返回的記錄數來排序,ac、at、al、ar,表示相應的倒序;

2、-t num,即為返回前面多少條的資料;

3、-g pattern,pattern可以寫乙個正則匹配模式,大小寫不敏感的;

例如

1、找出訪問次數最多的 20個sql 語句

mysqldumpslow -s c -t 20 host-slow.log

2、和返回記錄集最多的 20個sql

mysqldumpslow -s r -t 20 host-slow.log 

3、按照時間返回前 10 條裡面含有左連線的 sql 語句

mysqldumpslow -t 10 -s t -g "left join" host-slow.log

4、輸出記錄次數最多的10條sql語句

mysqldumpslow -s c -t 10 /database/mysql/slow-log

參考資料:  mysql 慢查詢日誌  

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

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

mysql慢日誌時間 MySQL慢查詢日誌優化

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

mysql 慢日誌 MYSQL慢查詢和日誌

一 簡介 開啟慢查詢日誌,可以讓mysql記錄下查詢超過指定時間的語句,通過定位分析效能的瓶頸,才能更好的優化資料庫系統的效能。二 引數說明 slow query log 慢查詢開啟狀態 slow query log file 慢查詢日誌存放的位置 這個目錄需要mysql的執行帳號的可寫許可權,一般...