當(dāng)前位置:首頁(yè) > IT技術(shù) > 數(shù)據(jù)庫(kù) > 正文

Mysql資料 慢查詢
2021-12-13 17:58:27

一.簡(jiǎn)介

MySQL的慢查詢,全名是慢查詢?nèi)罩?,是MySQL提供的一種日志記錄,用來(lái)記錄在MySQL中響應(yīng)時(shí)間超過(guò)閥值的語(yǔ)句。

具體環(huán)境中,運(yùn)行時(shí)間超過(guò)long_query_time值的SQL語(yǔ)句,則會(huì)被記錄到慢查詢?nèi)罩局?。long_query_time的默認(rèn)值為10,意思是記錄運(yùn)行10秒以上的語(yǔ)句。

默認(rèn)情況下,MySQL數(shù)據(jù)庫(kù)并不啟動(dòng)慢查詢?nèi)罩?,需要手?dòng)來(lái)設(shè)置這個(gè)參數(shù)。當(dāng)然,如果不是調(diào)優(yōu)需要的話,一般不建議啟動(dòng)該參數(shù),因?yàn)殚_(kāi)啟慢查詢?nèi)罩緯?huì)或多或少帶來(lái)一定的性能影響。

慢查詢?nèi)罩局С謱⑷罩居涗泴?xiě)入文件和數(shù)據(jù)庫(kù)表。

二.查詢

slow_query_log 慢查詢開(kāi)啟狀態(tài)
slow_query_log_file 慢查詢?nèi)罩敬娣诺奈恢茫ㄟ@個(gè)目錄需要MySQL的運(yùn)行帳號(hào)的可寫(xiě)權(quán)限,一般設(shè)置為MySQL的數(shù)據(jù)存放目錄)
long_query_time 查詢超過(guò)多少秒才記錄

查看是否開(kāi)啟和存放位置,當(dāng)前為關(guān)閉狀態(tài)
show variables like 'slow_query%';
file

多少米才記錄,當(dāng)前10秒
show variables like 'long_query_time';
file

三.開(kāi)啟

永久配置

vim /etc/my.cnf

[mysqld]
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 2

重啟數(shù)據(jù)庫(kù)

臨時(shí)配置

mysql> set global slow_query_log='ON';
mysql> set global slow_query_log_file='/usr/local/mysql/data/slow.log';
mysql> set global long_query_time=1;

重啟數(shù)據(jù)庫(kù)

四.測(cè)試

放一個(gè)慢查詢語(yǔ)句
mysql> select sleep(2);

查看日志是否生成并有那個(gè)語(yǔ)句
cat /usr/local/mysql/data/slow.log

本文摘自 :https://www.cnblogs.com/

開(kāi)通會(huì)員,享受整站包年服務(wù)立即開(kāi)通 >