美文网首页Mysql学习
SQL慢查询优化建议(二)

SQL慢查询优化建议(二)

作者: Sandy_678f | 来源:发表于2019-12-12 15:12 被阅读0次

    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语句中

    相关文章

      网友评论

        本文标题:SQL慢查询优化建议(二)

        本文链接:https://www.haomeiwen.com/subject/coizgctx.html