MySQL慢查询

慢查询对于跟踪有问题的查询很有用,可以分析出当前程序里那些Sql语句比较耗费资源。

 

1。查看慢查询当前状态

mysql> show variables like "%slow%";

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

| Variable_name       | Value                       |

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

| log_slow_queries    | ON                          |

| slow_launch_time    | 2                           |

| slow_query_log      | ON                          |

| slow_query_log_file | /var/lib/mysql/log/slow.log |

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

4 rows in set (0.01 sec)

 

默认情况下是关闭的,这里已经开启慢查询。

 

开启方法为:

 

mysql> set global slow_query_log=on;

 

对上面信息的解释:

| slow_launch_time | 2 |          表示超过2秒定义为慢查询。

| slow_query_log | ON |            慢查询已经开启。

| slow_query_log_file | /data/mysql/var/db-Test2-slow.log |         慢查询日志的文件

 

 – mysqldumpslow分析日志,可用mysql提供的mysqldumpslow,使用很简单,参数可–help查看

# -s:排序方式。

c , t , l , r 表示记录次数、时间、查询时间的多少、返回的记录数排序;

# ac , at , al , ar 表示相应的倒叙;

# -t:返回前面多少条的数据;

# -g:包含什么,大小写不敏感的;

mysqldumpslow -s r -t 10 /slowquery.log

#slow记录最多的10个语句mysqldumpslow -s t -t 10 -g "left join" /slowquery.log

#按照时间排序前10中含有"left join"的推荐用分析日志工具 – mysqlsla wget http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz

tar zvxf mysqlsla-2.03.tar.gz

cd mysqlsla-2.03

perl Makefile.PL

make

make install mysqlsla /data/mysqldata/slow.log

# mysqlsla会自动判断日志类型,为了方便可以建立一个配置文件“~/.mysqlsla”

# 在文件里写上:top=100,这样会打印出前100条结果。

 

启动完成后,就可以对慢查询日志进行分析了

 

第一,可以直接查看慢查询日志

 

第二,可 以借助工具来完成【mysqlsla】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值