mysql的慢查詢日志記錄什么

mysql中,慢查詢日志記錄的是響應時間超過閾值的語句;響應時間閾值就是運行時間超過“long_query_time”的值,該值的默認值為10,也即慢查詢日志記錄運行超過十秒以上的SQL語句。慢查詢日志可將日志記錄寫入日志文件和數據庫表。

mysql的慢查詢日志記錄什么

本教程操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。

mysql的慢查詢日志記錄什么

MySQL的慢查詢,全名是慢查詢日志,是MySQL提供的一種日志記錄,用來記錄在MySQL中響應時間超過閥值的語句。

具體環境中,運行時間超過long_query_time值的SQL語句,則會被記錄到慢查詢日志中。

long_query_time的默認值為10,意思是記錄運行10秒以上的語句。

默認情況下,MySQL數據庫并不啟動慢查詢日志,需要手動來設置這個參數。

當然,如果不是調優需要的話,一般不建議啟動該參數,因為開啟慢查詢日志會或多或少帶來一定的性能影響。

慢查詢日志支持將日志記錄寫入日志文件和數據庫表。

參數說明

  • slow_query_log:是否開啟慢查詢日志,1表示開啟,0表示關閉。

  • log-slow-queries :舊版(5.6以下版本)MySQL數據庫慢查詢日志存儲路徑??梢圆辉O置該參數,系統則會默認給一個缺省的文件host_name-slow.log

  • slow-query-log-file:新版(5.6及以上版本)MySQL數據庫慢查詢日志存儲路徑??梢圆辉O置該參數,系統則會默認給一個缺省的文件host_name-slow.log

  • long_query_time:慢查詢閾值,當查詢時間多于設定的閾值時,記錄日志。

  • log_queries_not_using_indexes:未使用索引的查詢也被記錄到慢查詢日志中(可選項)。

  • log_output:日志存儲方式。log_output=’FILE’表示將日志存入文件,默認值是’FILE’。log_output=’table’表示將日志存入數據庫。

擴展知識:

1、查看慢日志功能的狀態,慢日志功能默認是關閉的show variables like ‘%slow_query_log%’;

OFF表示慢日志功能處于關閉狀態,慢日志記錄存儲在DESKTOP-2331B4V-slow.log文件中,DESKTOP為本人的計算機名。

2、開啟慢日志功能set global slow_query_log=1;

然后再查詢慢日志狀態

狀態為ON,表示慢日志功能已開啟。

3、查看默認的long_query_time時間

long_query_time為10秒,表示SQ語句超過10秒的才會被記錄到慢日志中。

4、設置long_query_time時長,默認的10秒太長set global long_query_time=3;

重新打開一個會話,如果是window系統的話,再重新打卡一個cmd就可以(注意如果還是在設置long_query_time的會話中查詢long_query_time時長的話,還是默認的10秒,所以要重啟一個會話),再次查詢long_query_time時長

推薦學習:mysql視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享