六、索引与排序的关系

排序可能发生的2种情况:

1.对于覆盖索引,直接在索引上查询时,就是有顺序的,using index

在 innodb中,沿着索引字段排序,也是自然有序的.

对于myisam引擎,如果按照某索引字段排序,如id,但取出的字段中,有未索引的字段,myisam不是先索引->回行->索引->回行,而是会取出所有行再排序

2.先取出数据,行程临时表做filesort(文件排序,但文件可能在磁盘也可能在内存中)

我们应尽量利用索引排序,即取出的数据就是有序的,避免filesort

具体根据explian语句分析优化,当出现filesort需要优化

你可能感兴趣的:(六、索引与排序的关系)