mysqldumpslow -s r -t 10 /data/dbdata/frem-slow.log

二、使用explain分析sql执行过程

mysql会将慢查询记录到慢查询日志中,这时我们就可以针对这些慢查询的sql进行分析和优化,需要用到explain命令。
explain [要分析的sql]
分析结果中有如下几列:
+----+-------------+---------+------+---------------+------+---------+------+------+-------+-------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+---------+------+---------------+------+---------+------+------+-------+-------+

explain中各列的含义

每列的含义如下,可以参考官方文档:Explain Output Colums
①id:select查询序列号。
id相同,执行顺序由上至下;id不同,id值越大优先级越高,越先被执行。
②select_type:查询数据的操作类型,也就是多个(或1个)select之间的关系。有如下几种情况:
simple:表示简单查询,join也是简单查询。(不包含union和子查询)。