在mysql中,慢查詢日誌記錄的是回應時間超過閾值的語句;回應時間閾值就是運行時間超過「long_query_time」的值,該值的預設值為10,也即慢查詢日誌記錄運行超過十秒以上的SQL語句。慢查詢日誌可將日誌記錄寫入日誌檔案和資料庫表。
本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
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中文網其他相關文章!