MySQL高級知識(九)——慢查詢日誌

前言:慢查詢日誌是MySQL提供的一種日誌記錄,它記錄MySQL中響應時間超過閾值的語句,具體指運行時間超過long_query_time值的sql語句,該sql語句會被記錄到慢查詢日誌中。慢查詢日誌主要與explain進行聯合分析。html


1.如何開啓慢查詢日誌

默認狀況下,MySQL數據庫沒有開啓慢查詢日誌,須要咱們手動來設置這個參數。若是不是調優須要,通常不建議開啓該參數,由於開啓慢查詢日誌或多或少會帶來必定的性能影響。mysql

#1.首先查看慢查詢日誌是否開啓。sql

注:Value爲OFF表示關閉,筆者已經將慢查詢日誌開啓,因此Value顯示爲ON。數據庫

#2.使用以下命令開啓慢查詢日誌。工具

注:使用該命令開啓慢查詢只對當前數據庫生效,MySQL重啓失效,若是要配置長期有效,請在my.cnf中進行配置。性能

2.慢查詢的相關參數

#1.查看慢查詢的閾值時間,該值有long_query_time控制。默認狀況下爲10秒。spa

注:假如sql語句的運行時間正好等於long_query_time時,sql並不會被記錄下來,所以判斷慢查詢是sql的執行時間大於long_query_time,而不是大於等於3d

#2.設置long_query_time的值。日誌

當設置long_query_time值後,查看其值並無變化,解決方式:htm

①關閉當前鏈接,從新開一個新的鏈接。

②使用以下命名。

#3.查看慢查詢sql的數目。筆者已執行了兩次select sleep(9)命令。

查看慢查詢日誌文件:

從文件中可看到兩條select sleep(9)語句。

3.使用mysqldumpslow分析慢查詢日誌文件

由於直接分析日誌文件是個體力活,所以mysql爲咱們提供了相關工具mysqldumpslow來對慢查詢日誌文件進行分析。

具體使用方式可用mysqldumpslow --help命令查看具體參數,或參考:http://www.cnblogs.com/moss_tan_jun/p/6603766.html


by Shawn Chen,2018.6.26日,下午。


相關內容

MySQL高級知識系列目錄

相關文章
相關標籤/搜索