mysqldumpslow工具可以用来归纳总结慢查询日志的信息。
MySQL慢查询日志包含执行时间较长的查询信息。mysqldumpslow工具可以解析MySQL慢查询日志文件并打印出他们内容的汇总信息。
通常,mysqldumpslow工具会将相似的查询分组。
--常用参数
-s 排序的方式
t, at: 按照查询时间或平均查询时间排序
l, al: 按照锁的时间和平均锁的时间排序
r, ar: 按照发送的行数或平均发送的行数排序
c: 按照执行次数排序
mysqldumpslow按照平均查询时间排序( -s at)
-r 以相反的顺序排序
-t N 在输出文件中只显示前N条查询
--取出执行次数最多的前5条SQL
[root@localhost log]# /software/bin/mysqldumpslow -s c -t 5 slow_query.log |more
Reading mysql slow query log from slow_query.log
Count: 2 Time=43.54s (87s) Lock=0.00s (0s) Rows=0.0 (0), system[system]@localhost
lock table t10 write
Count: 1 Time=14.53s (14s) Lock=0.00s (0s) Rows=73088.0 (73088), system[system]@localhost
SELECT * FROM `t_idb_big`
Count: 1 Time=12.22s (12s) Lock=0.00s (0s) Rows=0.0 (0), system[system]@localhost
INSERT INTO `t_idb_big` VALUES ('S','S','S','S',N,'S','S','S',NULL,NULL,N,N,NULL,NULL,'S','S','S','S','S',N)
--取出耗时最长的前10条慢SQL
mysqldumpslow -s t -t 10 slow.log