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/mysqld84-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
如何排序输出。
sort_type
的值应从以下列表中选择t
,at
: 按查询时间或平均查询时间排序l
,al
: 按锁定时间或平均锁定时间排序r
,ar
: 按发送的行数或平均发送的行数排序c
: 按计数排序
默认情况下,mysqldumpslow 按平均查询时间排序(等效于
-s at
)。 -
类型 数值 仅显示输出中的前
N
个查询。 --verbose
,-v
命令行格式 --verbose
详细模式。打印有关程序执行情况的更多信息。