當前位置:首頁 > IT技術 > 數(shù)據(jù)庫 > 正文

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

一.簡介

MySQL的慢查詢,全名是慢查詢?nèi)罩?,是MySQL提供的一種日志記錄,用來記錄在MySQL中響應時間超過閥值的語句。

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

默認情況下,MySQL數(shù)據(jù)庫并不啟動慢查詢?nèi)罩?,需要手動來設置這個參數(shù)。當然,如果不是調(diào)優(yōu)需要的話,一般不建議啟動該參數(shù),因為開啟慢查詢?nèi)罩緯蚨嗷蛏賻硪欢ǖ男阅苡绊憽?/p>

慢查詢?nèi)罩局С謱⑷罩居涗泴懭胛募蛿?shù)據(jù)庫表。

二.查詢

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

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

多少米才記錄,當前10秒
show variables like 'long_query_time';
file

三.開啟

永久配置

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ù)庫

臨時配置

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ù)庫

四.測試

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

查看日志是否生成并有那個語句
cat /usr/local/mysql/data/slow.log

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

開通會員,享受整站包年服務立即開通 >