当前位置:首页 > Mysql教程 > 列表

mysql中slow query log慢日志查询分析

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-24 20:29:36 浏览: 评论:0 

在mysql中slow query log是一个非常重要的功能,我们可以开启mysql的slow query log功能,这样就可以分析每条sql执行的状态与性能从而进行优化了.

一、慢查询日志配置

开启慢查询日志,配置样例:

/etc/mysql/my.cnf

[mysqld]

log-slow-queries

在 my.cnf 配置文件中增加上述配置项并重启 mysql 服务,这时 mysql 慢查询功能生效,慢查询日志将写入参数 DATADIR,数据目录:/var/lib/mysql.

指定的路径下,默认文件名是 host_name-slow.log.

和错误日志、查询日志一样,慢查询日志记录的格式也是纯文本,可以被直接读取,下例中演示了慢查询日志的设置和读取过程.

1),首先查询一下 long_query_time 的值,代码如下:

  1. mysql> show variables like 'long%'
  2. +-----------------+-------+ 
  3. | Variable_name | Value | 
  4. +-----------------+-------+ 
  5. | long_query_time | 10 | 
  6. +-----------------+-------+ 
  7. 1 row in set (0.00 sec) 

2),为了方便测试,将修改慢查询时间为 5 秒,代码如下:

mysql> set long_query_time=1;

Query OK, 0 rows affected (0.02 sec)

以上操作只限于当前有效,关闭服务器得重新设置,下面的方法可直接写入my.cnf.

log-slow-queries=/var/lib/mysql/slowquery.log

long_query_time=1

二、mysqldumpslow 的常用参数如下:

-s 后面接下面的参数表示 mysqldumpslow 结果显示的顺序!

c query执行的次数

t sql执行的时间

l lock锁表的时间

r sql返回的行数

ac,at,al,ar,表示倒序排列

-t,是top n,即为返回前面n条数据。

-g,后边可以写一个正则匹配模式,大小写不敏感

显示执行时间最长的前两个,代码如下:

  1. [root@rac3 python]# mysqldumpslow  -s t -t 2 /opt/mysql/data/slowquery.log  
  2. Reading mysql slow query log from /opt/mysql/data/slowquery.log 
  3. Count: 2  Time=412.54s (825s)  Lock=0.00s (0s)  Rows=1.0 (2), root[root]@localhost 
  4.   select count(N) from sbtest ,t1 where t1.c=sbtest.c 
  5. Count: 1  Time=778.20s (778s)  Lock=0.00s (0s)  Rows=1.0 (1), root[root]@localhost 
  6.   select count(N) from  sbtest where sbtest.id not in ( select id from t1 ) 
  7. #显示次数最多的前两个 
  8. [root@rac3 python]# mysqldumpslow  -s c -t 2 /opt/mysql/data/slowquery.log      
  9. Reading mysql slow query log from /opt/mysql/data/slowquery.log 
  10. Count: 12  Time=0.00s (0s)  Lock=0.00s (0s)  Rows=1.0 (12), root[root]@localhost 
  11.   select count(N) from tab_1 
  12. Count: 2  Time=412.54s (825s)  Lock=0.00s (0s)  Rows=1.0 (2), root[root]@localhost 
  13.   select count(N) from sbtest ,t1 where t1.c=sbtest.c 
  14. [root@rac3 python]# 
  15. //开源软件:phpfensi.com

Tags: slow query log慢日志

分享到: