在mysql中,慢查詢?nèi)罩居涗浀氖琼憫?yīng)時(shí)間超過閾值的語句;響應(yīng)時(shí)間閾值就是運(yùn)行時(shí)間超過“l(fā)ong_query_time”的值,該值的默認(rèn)值為10,也即慢查詢?nèi)罩居涗涍\(yùn)行超過十秒以上的SQL語句。慢查詢?nèi)罩究蓪⑷罩居涗泴懭肴罩疚募蛿?shù)據(jù)庫表。
slow_query_log:是否開啟慢查詢?nèi)罩荆?表示開啟,0表示關(guān)閉。
log-slow-queries :舊版(5.6以下版本)MySQL數(shù)據(jù)庫慢查詢?nèi)罩敬鎯?chǔ)路徑??梢圆辉O(shè)置該參數(shù),系統(tǒng)則會(huì)默認(rèn)給一個(gè)缺省的文件host_name-slow.log
slow-query-log-file:新版(5.6及以上版本)MySQL數(shù)據(jù)庫慢查詢?nèi)罩敬鎯?chǔ)路徑。可以不設(shè)置該參數(shù),系統(tǒng)則會(huì)默認(rèn)給一個(gè)缺省的文件host_name-slow.log
long_query_time:慢查詢閾值,當(dāng)查詢時(shí)間多于設(shè)定的閾值時(shí),記錄日志。
log_queries_not_using_indexes:未使用索引的查詢也被記錄到慢查詢?nèi)罩局校蛇x項(xiàng))。
log_output:日志存儲(chǔ)方式。log_output='FILE'表示將日志存入文件,默認(rèn)值是'FILE'。log_output='TABLE'表示將日志存入數(shù)據(jù)庫。
擴(kuò)展知識:
1、查看慢日志功能的狀態(tài),慢日志功能默認(rèn)是關(guān)閉的show variables like '%slow_query_log%';
OFF表示慢日志功能處于關(guān)閉狀態(tài),慢日志記錄存儲(chǔ)在DESKTOP-2331B4V-slow.log文件中,DESKTOP為本人的計(jì)算機(jī)名。
2、開啟慢日志功能set global slow_query_log=1;
然后再查詢慢日志狀態(tài)
狀態(tài)為ON,表示慢日志功能已開啟。
3、查看默認(rèn)的long_query_time時(shí)間
long_query_time為10秒,表示SQ語句超過10秒的才會(huì)被記錄到慢日志中。
4、設(shè)置long_query_time時(shí)長,默認(rèn)的10秒太長set global long_query_time=3;
重新打開一個(gè)會(huì)話,如果是window系統(tǒng)的話,再重新打卡一個(gè)cmd就可以(注意如果還是在設(shè)置long_query_time的會(huì)話中查詢long_query_time時(shí)長的話,還是默認(rèn)的10秒,所以要重啟一個(gè)會(huì)話),再次查詢long_query_time時(shí)長
推薦學(xué)習(xí):mysql視頻教程