MySQL 慢查询分析

1.mysql执行计划中会有一列 Extra mysql

 Using filesort 是Mysql里一种速度比较慢的外部排序,咱们能够经过优化索引来尽可能避免出现Using filesort,从而提升速度。通常是order by 后面的字段没有加index 致使sql

Using temporary 说明用到了临时表,通常是用了group by的缘由,建立一个临时表用以执行分组操做优化

Using temporary, Using filesort 是比较糟糕的,要尽可能排除排序

 

2.优化GROUP BY语句索引

默认状况下,MySQL对全部GROUP BY col1,col2...的字段进行排序,若是查询包括GROUP BY 但用户想要避免排序结果的消耗,则能够指定ORDER By NULL禁止排序:file

explain select id, sum(moneys) from sales2 group by id \G                      explain select id, sum(moneys) from sales2 group by id order by null \G select

相关文章
相关标签/搜索