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/mysqld83-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 支持以下选项。
-
Command-Line Format --help
显示帮助信息并退出。
-
不将所有数字抽象为
N
和字符串抽象为'S'
。 -
--debug
,-d
Command-Line Format --debug
以调试模式运行。
只有在 MySQL 使用
WITH_DEBUG
选项构建时才可用。 Oracle 提供的 MySQL 发行二进制文件不使用这个选项。 -
Type 字符串 仅考虑与模式匹配的查询。
-
Type 字符串 Default Value *
MySQL 服务器的主机名,用于
*-slow.log
文件名。该值可以包含通配符。默认为*
(匹配所有)。 -
Type 字符串 服务器实例的名称(如果使用 mysql.server 启动脚本)。
-
不从总时间中减去锁定时间。
-
Type 数字 使用至少
N
位数字在名称中抽象数字。 -
反转排序顺序。
-
Type 字符串 Default Value at
如何排序输出。
sort_type
的值应从以下列表中选择:-
t
,at
: 按查询时间或平均查询时间排序 -
l
,al
: 按锁定时间或平均锁定时间排序 -
r
,ar
: 按发送的行数或平均发送的行数排序 -
c
: 按计数排序
默认情况下,mysqldumpslow 按平均查询时间排序(等同于
-s at
)。 -
-
Type 数字 仅显示输出中的前
N
个查询。 -
--verbose
,-v
Command-Line Format --verbose
详细模式。 打印程序执行的更多信息。