共計 1452 個字符,預計需要花費 4 分鐘才能閱讀完成。
本篇內容主要講解“mysql 的慢查詢日志記錄哪些內容”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“mysql 的慢查詢日志記錄哪些內容”吧!
在 mysql 中,慢查詢日志記錄的是響應時間超過閾值的語句;響應時間閾值就是運行時間超過“long_query_time”的值,該值的默認值為 10,也即慢查詢日志記錄運行超過十秒以上的 SQL 語句。慢查詢日志可將日志記錄寫入日志文件和數據庫表。
本教程操作環境: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 的慢查詢日志記錄哪些內容”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!