MySQL慢查詢之打開(kāi)慢查詢的方法說(shuō)明
發(fā)表時(shí)間:2023-09-10 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]開(kāi)啟慢查詢?nèi)罩,可以讓MySQL記錄下查詢超過(guò)指定時(shí)間的語(yǔ)句,通過(guò)定位分析性能的瓶頸,才能更好的優(yōu)化數(shù)據(jù)庫(kù)系統(tǒng)的性能。下面這篇文章主要介紹了關(guān)于MySQL開(kāi)啟慢查詢的相關(guān)資料,需要的朋友可以參考下。一、慢查詢有什么用?它能記錄下所有執(zhí)行超過(guò)long_query_time時(shí)間的SQL語(yǔ)句, 幫你找到...
開(kāi)啟慢
查詢日志,可以讓
MySQL記錄下查詢超過(guò)指定時(shí)間的語(yǔ)句,通過(guò)定位分析性能的瓶頸,才能更好的優(yōu)化數(shù)據(jù)庫(kù)系統(tǒng)的性能。下面這篇文章主要介紹了關(guān)于MySQL開(kāi)啟慢查詢的相關(guān)資料,需要的朋友可以參考下。
一、慢查詢有什么用?
它能記錄下所有執(zhí)行超過(guò)long_query_time時(shí)間的SQL語(yǔ)句, 幫你找到執(zhí)行慢的SQL, 方便我們對(duì)這些SQL進(jìn)行優(yōu)化.
二、參數(shù)說(shuō)明
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ò)多少秒才記錄
三、設(shè)置步驟
1、查看慢查詢相關(guān)參數(shù)
mysql> show variables like 'slow_query%';
+---------------------------+----------------------------------+
Variable_name Value
+---------------------------+----------------------------------+
slow_query_log OFF
slow_query_log_file /mysql/data/localhost-slow.log
+---------------------------+----------------------------------+
mysql> show variables like 'long_query_time';
+-----------------+-----------+
Variable_name Value
+-----------------+-----------+
long_query_time 10.000000
+-----------------+-----------+
2、設(shè)置方法
方法一:全局變量設(shè)置
將 slow_query_log
全局變量設(shè)置為“ON”狀態(tài)
mysql> set global slow_query_log='ON';
設(shè)置慢查詢?nèi)罩敬娣诺奈恢?/p>
mysql> set global slow_query_log_file='/usr/local/mysql/data/slow.log';
查詢超過(guò)1秒就記錄
mysql> set global long_query_time=1;
方法二:配置文件設(shè)置
修改配置文件my.cnf,在[mysqld]下的下方加入
[mysqld]
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 1
3、重啟MySQL服務(wù)
service mysqld restart
4、查看設(shè)置后的參數(shù)
mysql> show variables like 'slow_query%';
+---------------------+--------------------------------+
Variable_name Value
+---------------------+--------------------------------+
slow_query_log ON
slow_query_log_file /usr/local/mysql/data/slow.log
+---------------------+--------------------------------+
mysql> show variables like 'long_query_time';
+-----------------+----------+
Variable_name Value
+-----------------+----------+
long_query_time 1.000000
+-----------------+----------+
四、測(cè)試
1、執(zhí)行一條慢查詢SQL語(yǔ)句
mysql> select sleep(2);
2、查看是否生成慢查詢?nèi)罩?/strong>
ls /usr/local/mysql/data/slow.log
如果日志存在,MySQL開(kāi)啟慢查詢?cè)O(shè)置成功!
總結(jié)
以上就是MySQL慢查詢之開(kāi)啟慢查詢的方法介紹的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。