慢查询

王朝百科·作者佚名  2012-05-04
窄屏简体版  字體: |||超大  

基本定义分析MySQL语句查询性能的方法除了使用 EXPLAIN 输出执行计划,还可以让MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为“慢查询”。

记录慢查询的方法:查看/设置“慢查询”的时间定义1

mysql> show variables like "long%";

2

+-----------------+----------+

3

| Variable_name | Value |

4

+-----------------+----------+

5

| long_query_time | 0.000100 |

6

+-----------------+----------+

7

1 row in set (0.00 sec)

如上述语句输出,“慢查询”的时间定义为0.0001秒(方便测试,一般设置为1-10秒)。使用下面语句定义“慢查询”时间

1

mysql> set long_query_time=0.0001;

2

Query OK, 0 rows affected (0.00 sec)

开启“慢查询”记录功能1

mysql> show variables like "slow%";

2

+---------------------+------------------------------------+

3

| Variable_name | Value |

4

+---------------------+------------------------------------+

5

| slow_launch_time | 2 |

6

| slow_query_log | OFF |

7

| slow_query_log_file | /opt/mysql/data/localhost-slow.log |

8

+---------------------+------------------------------------+

9

3 rows in set (0.00 sec)

上述语句查看“慢查询”的配置信息,你可以自定义日志文件的存放,但必须将 slow_query_log 全局变量设置为“ON”状态,执行以下语句:

1

mysql> set global slow_query_log=ON;

2

Query OK, 0 rows affected (0.01 sec)

结果:

1

mysql> show variables like "slow%";

2

+---------------------+------------------------------------+

3

| Variable_name | Value |

4

+---------------------+------------------------------------+

5

| slow_launch_time | 2 |

6

| slow_query_log | ON |

7

| slow_query_log_file | /opt/mysql/data/localhost-slow.log |

8

+---------------------+------------------------------------+

9

3 rows in set (0.00 sec)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航