zl程序教程

您现在的位置是:首页 >  系统

当前栏目

Windows下安装使用mysqldumpslow

Windows安装 使用
2023-09-14 08:56:55 时间

首先已经配置好让数据库记录慢查询的SQL:http://www.javacui.com/DB/541.html 

 

安装后以后在bin下有mysqldumpslow.pl文件,如果没有下载一个也可以

http://www.javacui.com/ueditor/php/upload/file/20210415/1618471604123103.zip

首先需要安装Perl,在windows下安装Perl,安装过程很简单,从官网 http://strawberryperl.com/ 下载windows安装包,安装好之后,测试perl -v,如果能显示版本号,表示安装成功。

mysqldumpslow是一个perl脚本,只需下载并赋权即可执行。

 

查看文档:

D:\MySQL Datafiles>perl mysqldumpslow.pl --help
 Usage: mysqldumpslow [ OPTS... ] [ LOGS... ]
Parse and summarize the MySQL slow query log. Options are
  --verbose    verbose
  --debug      debug
  --help       write this text to standard output
  -v           verbose
  -d           debug
  -s ORDER     what to sort by (al, at, ar, c, l, r, t), 'at' is default(排序方式)
                 al: average lock time(平均锁定时间)
                 ar: average rows sent(平均返回记录数)
                 at: average query time(平均查询时间)
                  c: count(访问计数)
                  l: lock time(锁定时间)
                  r: rows sent(返回记录)
                  t: query time(查询时间)
   -r           reverse the sort order (largest last instead of first)
   -t NUM       just show the top n queries(返回前面n条数据)
   -a           don't abstract all numbers to N and strings to 'S'
   -n NUM       abstract numbers with at least n digits within names
   -g PATTERN   grep: only consider stmts that include this string(正则匹配模式,大小写不敏感)
   -h HOSTNAME  hostname of db server for *-slow.log filename (can be wildcard),
                default is '*', i.e. match all
   -i NAME      name of server instance (if using mysql.server startup script)
   -l           don't subtract lock time from total time

 

使用示例:

 

锁定时间最长的前10条

1
perl mysqldumpslow.pl -s l -t 1 mysql_slow.log

 

比如,得到返回记录集最多的10个SQL。

1
perl mysqldumpslow.pl -s r -t 10 mysql_slow.log

 

得到访问次数最多的10个SQL

1
perl mysqldumpslow.pl -s c -t 10 mysql_slow.log

 

得到按照时间排序的前10条里面含有左连接的查询语句。

1
perl mysqldumpslow.pl -s t -t 10 -g “left join” mysql_slow.log

 

另外建议在使用这些命令时结合 | 和more 使用 ,否则有可能出现刷屏的情况。

1
perl mysqldumpslow.pl -s r -t 20 mysql_slow.log | more