mysql慢查询日志分析工具(mysql产生慢日志的主要原因)
使用mysqldumpslow工具,mysqldumpslow是MySQL自带的慢查询日志工具。可以使用
mysqldumpslow工具搜索慢查询日志中的SQL语句。
得到按照时间排序的前10条里面含有连接的查询语句:
[root@localhost mysql]# mysqldumpslow -s t -t 10 -g "left join"
/var/lib/mysql/slow.log
常用参数说明:
-s:是表示按照何种方式排序(al 平均锁定时间;ar 平均返回记录时间;at 平均查询时间(默认);c 计数;l 锁定时间;r 返回记录;t 查询时间)
-t:是top n的意思,即为返回前面多少条的数据
-g:后边可以写一个正则匹配模式,大小写不敏感的
[root@mysql132 mysql]# mysqldumpslow -s t /var/lib/mysql/mysql132-slow.log
Reading mysql slow query log from /var/lib/mysql/mysql132-slow.log
Count: 1 Time=143.16s (143s) Lock=0.00s (0s) Rows=27907961.0 (27907961),
root[root]@localhost
select * from t_slow a left join t_slow b on a.name=b.name
Count: 5 Time=5.80s (28s) Lock=0.00s (0s) Rows=0.0 (0),
root[root]@localhost
insert into t_slow(name,address) select name,address from t_slow
Count: 1 Time=3.01s (3s) Lock=0.00s (0s) Rows=1.0 (1),
root[root]@localhost
select sleep(N)