1、首先安装好perl环境。perl下载地址:请点这里
2、在dos环境中,切换到perl目录中,例如我的目录是,输入dos命令,命令如下:
cd c:\Perl\bin
3、在此目录输入perl mysqldumpslow的路径\mysqldumpslow.pl+mysqldumpslow命令 +slow.log的路径+输出的地方
例如:我的mysqldumpslow目录为E:\MySQL\bin\,slow.log日志文件的目录为C:\Perl\bin\slow.log
//根据总查询时间排序,只列出前3条
C:\Perl\bin>perl E:\MySQL\bin\mysqldumpslow.pl -s t -a -t 3 E:\MySQL\data\test-THINK-slow.log
Reading mysql slow query log from E:\MySQL\data\test-THINK-slow.log
Count: 1 Time=13.41s (13s) Lock=0.00s (0s) Rows=421.0 (421), root[root]@localhost
SELECT * FROM `t_bd_shop_temp` where shop_name like '%1%'
Count: 1 Time=6.11s (6s) Lock=0.00s (0s) Rows=5.0 (5), root[root]@localhost
SELECT * FROM `t_bd_shop_temp` where shop_name like '%21%'
Count: 1 Time=5.01s (6s) Lock=0.00s (0s) Rows=10.0 (10), root[root]@localhost
SELECT * FROM `t_bd_shop_temp` where shop_name like '%5%'
//搜索包括关键字 hello的结果,并按照次数正序排序前3条
C:\Perl\bin>perl E:\MySQL\bin\mysqldumpslow.pl -s t -a -t 3 -g 'hello' E:\MySQL\data\test-THINK-slow.log
4、mysqldumpslow的命令参数列举如下:
--help
输出帮助信息
-v
输出详细信息
-d
调试
-s
按照什么排序,默认是'at',显示顺序为倒序
al: 平均锁表时间
ar: 平均结果行数
at: 平均查询时间
c: 次数
l: 锁表时间
r: 总结果行数
t: 总查询时间
-r
正序排序,即从小到大排序
-t NUM
限制显示的条数
-a
显示出数字和字符串,默认数字为 N 字符串为 'S'
-g PATTERN
过滤字符串,后接正则表达式,如'10$' 以10为结尾的条件