MySQL慢查询日志分析工具mysqldumpslow
mysqldumpslow是mysql自带的一种慢查询日志分析工具,顾名思义,就是查询那些出那些查询慢的SQL语句,由此分析出SQL查询效率慢的原因。
通常来说,mysqldumpslow分组查询的结果是相似的,它在展示统计结果时,可以将数字和字符串分别抽象成“N”和“S”。当然也可以用-a 和 -n选项可以用来修改这些抽象的行为。
mysqldumpslow查询命令
mysqldumpslow [options] [log_file]
mysqldumpslow可选参数(options),如下:
-a : 不将数字抽象成N,字符串抽象成S。
示例:
mysql%mysqldumpslow /home/mysql/logs/slow_query.log
Reading mysql slow query log from /home/mysql/logs/slow_query.log
Count: 1 Time=0.00s (0s) Lock=0.00s (0s) Rows=0.0 (0), FAVDBA[FAVDBA]@[10.1.45.51]
# Schema: Last_errno: N Killed: N
# Query_time: N.N Lock_time: N.N Rows_sent: N Rows_examined: N Rows_affected: N
# Bytes_sent: N
SET timestamp=N;
SELECT EVENT_NAME, EVENT_SCHEMA, EVENT_DEFINITION FROM INFORMATION_SCHEMA.EVENTS
mysql%mysqldumpslow -a /home/mysql/logs/slow_query.log
Reading mysql slow query log from /home/mysql/logs/slow_query.log
Count: 1 Time=0.00s (0s) Lock=0.00s (0s) Rows=0.0 (0), FAVDBA[FAVDBA]@[10.1.45.51]
# Schema: Last_errno: 0 Killed: 0
# Query_time: 0.004095 Lock_time: 0.002907 Rows_sent: 0 Rows_examined: 0 Rows_affected: 0
# Bytes_sent: 140
SET timestamp=1451270206;
SELECT EVENT_NAME, EVENT_SCHEMA, EVENT_DEFINITION FROM INFORMATION_SCHEMA.EVENTS
-n N : 将数字抽象显示成至少指定的位数