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