明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

MySQL慢查詢之打開(kāi)慢查詢的方法說(shuō)明

[摘要]開(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í)。