首頁  >  文章  >  資料庫  >  mysql的慢查詢日誌記錄什麼

mysql的慢查詢日誌記錄什麼

WBOY
WBOY原創
2022-05-19 16:34:162632瀏覽

在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資料庫慢查詢日誌儲存路徑。可以不設定此參數,系統則會預設給一個預設的檔案host_name-slow.log

  • #slow-query-log-file:新版(5.6以上版本)MySQL資料庫慢查詢日誌儲存路徑。可以不設定該參數,系統則會預設給一個缺省的檔案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影片教學

以上是mysql的慢查詢日誌記錄什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn