MySQL 慢查询日志包含有关执行时间较长的查询的信息(请参阅 第 7.4.5 节“慢查询日志”)。mysqldumpslow 解析 MySQL 慢查询日志文件并汇总其内容。
通常,mysqldumpslow 将除数字和字符串数据值的特定值外相似的查询分组。它在显示摘要输出时将这些值““抽象””为 N
和 'S'
。要修改值抽象行为,请使用 -a
和 -n
选项。
像这样调用 mysqldumpslow
mysqldumpslow [options] [log_file ...]
未指定选项时的示例输出
Reading mysql slow query log from /usr/local/mysql/data/mysqld90-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 支持以下选项。
-
命令行格式 --help
显示帮助消息并退出。
不要将所有数字抽象为
N
,将字符串抽象为'S'
。--debug
,-d
命令行格式 --debug
在调试模式下运行。
仅当使用
WITH_DEBUG
构建 MySQL 时,此选项才可用。Oracle 提供的 MySQL 发行版二进制文件未使用此选项构建。-
类型 字符串 仅考虑与(grep 样式)模式匹配的查询。
-
类型 字符串 默认值 *
*-slow.log
文件名中 MySQL 服务器的主机名。该值可以包含通配符。默认值为*
(匹配所有)。 -
类型 字符串 服务器实例的名称(如果使用 mysql.server 启动脚本)。
不要从总时间中减去锁定时间。
-
类型 数字 抽象名称中至少具有
N
位数字的数字。 反转排序顺序。
-
类型 字符串 默认值 at
如何对输出进行排序。
排序类型
的值应从以下列表中选择t
,at
: 按查询时间或平均查询时间排序l
,al
: 按锁定时间或平均锁定时间排序r
,ar
: 按发送行数或平均发送行数排序c
: 按计数排序
默认情况下,mysqldumpslow 按平均查询时间排序(等效于
-s at
)。 -
类型 数字 仅显示输出中的前
N
个查询。 --verbose
,-v
命令行格式 --verbose
详细模式。打印有关程序功能的更多信息。