4.6.8 mysqldumpslow-汇总慢查询日志文件

MySQL 慢查询日志包含有关执行时间很长的查询的信息(请参阅第 5.4.5 节“缓慢的查询日志”)。 mysqldumpslow解析 MySQL 慢查询日志文件并总结其内容。

通常,mysqldumpslow将类似于数字和字符串数据值的特定值的查询分组。显示摘要输出时,会将这些值“抽象”到N'S'。若要修改值抽象行为,请使用-a-n选项。

像这样调用mysqldumpslow

shell> mysqldumpslow [options] [log_file ...]

用法示例:

shell> mysqldumpslow

Reading mysql slow query log from /usr/local/mysql/data/mysqld57-slow.log
Count: 1  Time=4.32s (4s)  Lock=0.00s (0s)  Rows=0.0 (0), root[root]@localhost
 insert into t2 select * from t1

Count: 3  Time=2.53s (7s)  Lock=0.00s (0s)  Rows=0.0 (0), root[root]@localhost
 insert into t2 select * from t1 limit N

Count: 3  Time=2.13s (6s)  Lock=0.00s (0s)  Rows=0.0 (0), root[root]@localhost
 insert into t1 select * from t1

mysqldumpslow支持以下选项。

table4.23 mysqldumpslow 选项

Option NameDescription
-a不要将所有数字都抽象为 N,将字符串抽象为“ S”
-n至少具有指定数字的抽象数字
--debug编写调试信息
-g只考虑与模式匹配的语句
--help显示帮助信息并退出
-h日志文件名中服务器的主机名
-i服务器实例的名称
-l不要从总时间中减去锁定时间
-r颠倒排序 Sequences
-s如何排序输出
-t仅显示前 num 个查询
--verboseVerbose mode

显示帮助消息并退出。

  • -a

请勿将所有数字抽象为N并将字符串抽象为'S'

在调试模式下运行。

仅当使用WITH_DEBUG构建 MySQL 时,此选项才可用。使用此选项不是构建 Oracle 提供的 MySQL 发行版二进制文件。

  • -g pattern

仅考虑与( grep -style)模式匹配的查询。

  • -h host_name

*-slow.log文件名的 MySQL 服务器的主机名。该值可以包含通配符。默认值为*(全部匹配)。

  • -i name

服务器实例的名称(如果使用mysql.server启动脚本)。

  • -l

不要从总时间中减去锁定时间。

  • -n N

名称中包含至少* N *位数字的抽象数字。

  • -r

颠倒排序 Sequences。

  • -s sort_type

如何对输出进行排序。 * sort_type *的值应从以下列 table 中选择:

  • tat:按查询时间或平均查询时间排序

    • lal:按锁定时间或平均锁定时间排序

    • rar:按已发送的行或已发送的平均行进行排序

    • c:按计数排序

默认情况下,mysqldumpslow按平均查询时间排序(相当于-s at)。

  • -t N

在输出中仅显示前* N *个查询。

详细模式。打印有关程序功能的更多信息。