mysql查询性能问题,加了order by速度慢了

Posted 不朽 丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql查询性能问题,加了order by速度慢了相关的知识,希望对你有一定的参考价值。

关于order by的查询优化可以看一下:

主要介绍了两个方法:

  • 第一个是FORCE INDEX (PRIMARY):这个理解很直白就是强行加索引
  • 第二个是late row lookups,也就是文章的重点,其实就是先构造一个只有id的子查询,然后再join一起。这样极大的提高效率。如下示例代码,o是通过你的表和只有id查询出来的临时字表,l是要join一起包含所有字段的表。
    
    
    explain
    SELECT  xx,xxx,....
    FROM    (
            SELECT  id
            FROM    <你的表>
            ORDER BY
                    id
            LIMIT <返回条数的范围>
            ) o 
    JOIN    <你的表> l
    ON      l.id = o.id  
    ORDER BY
            l.id

     

以上是关于mysql查询性能问题,加了order by速度慢了的主要内容,如果未能解决你的问题,请参考以下文章

Mysql查询(order by)很慢

ORDER BY 让我的查询超级慢。里面的例子。有啥加快速度的想法吗?

使用 order by 时,Mysql 查询运行非常慢

使用 ORDER BY id 时 MySQL 查询慢

求sqlserver join 后order by 速度慢的解决办法

mysql 优化慢复杂sql (多个left join 数量过大 order by 巨慢)