SQL慢查询优化建议(二)

use temporary,use filesort优化建议:

  1. use temporary:需要用临时表存储结果集,常见于group by,order by操作
  2. use filesort:无法利用索引进行排序,而使用外部文件排序,常见于order by操作

通常产生use temporary的条件:

  1. group by的列没有走索引,产生临时表
  2. group by时,select的列不止group by的列,并且group by的列不是主键
  3. group by与order by的列不同,并且没有建立正确顺序的索引
  4. group by或order by的列不是来自JOIN语句第一个表.会产生临时表
  5. distinct 和 order by的列没有走索引

通常产生use filesort的条件:

  1. order by的列没有走索引
  2. order by的字段顺序与索引顺序不一致

优化建议:

  1. group by 与 order by字段增加索引
  2. group by 与 order by字段的索引满足最左匹配原则
  3. group by 与 order by字段不一致时,尽量不同时出现在同一sql语句中
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容