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
最怕一生碌碌无为 , 还说平凡难能可贵.