首頁常見問題正文

MySQL怎樣開啟慢查詢日志?

更新時間:2023-08-07 來源:黑馬程序員 瀏覽量:

IT培訓班

慢查詢日志記錄了所有執(zhí)行時間超過指定參數(shù)(long_query_time,單位:秒,默認10秒)的所有SQL語句的日志。MySQL的慢查詢日志默認沒有開啟,我們可以查看一下系統(tǒng)變量 slow_query_log。
查看系統(tǒng)變量

如果要開啟慢查詢日志,需要在MySQL的配置文件(/etc/my.cnf)中配置如下信息:

#開啟MySQL慢日志查詢開關
slow_query_log=1
#設置慢日志的時間為2秒,SQL語句執(zhí)行時間超過2秒,就會視為慢查詢,記錄慢查詢日志
long_query_time=2

配置完畢之后,通過以下指令重新啟動MySQL服務器進行測試,查看慢日志文件中記錄的信息,/var/lib/mysql/localhost-slow.log。

systemctlrestartmysqld

然后,再次查看開關情況,慢查詢日志就已經(jīng)打開了。

打開慢查詢日志

測試:

A. 執(zhí)行如下SQL語句:

select*fromtb_user;--這條SQL執(zhí)行效率比較高,執(zhí)行耗時0.00sec 
selectcount(*)fromtb_sku;--由于tb_sku表中,預先存入了1000w的記錄,count一次,耗時
13.35sec

B. 檢查慢查詢日志:

最終我們發(fā)現(xiàn),在慢查詢日志中,只會記錄執(zhí)行時間超多我們預設時間(2s)的SQL,執(zhí)行較快的SQL是不會記錄的。

1691404372187_圖片3.png

那這樣,通過慢查詢日志,就可以定位出執(zhí)行效率比較低的SQL,從而有針對性的進行優(yōu)化。


分享到:
在線咨詢 我要報名
和我們在線交談!