六、索引与排序的关系
2018-08-07 本文已影响14人
_sleeping
排序可能发生的2种情况:
1.对于覆盖索引,直接在索引上查询时,就是有顺序的,using index
在 innodb中,沿着索引字段排序,也是自然有序的.
对于myisam引擎,如果按照某索引字段排序,如id,但取出的字段中,有未索引的字段,myisam不是先索引->回行->索引->回行,而是会取出所有行再排序
2.先取出数据,行程临时表做filesort(文件排序,但文件可能在磁盘也可能在内存中)
我们应尽量利用索引排序,即取出的数据就是有序的,避免filesort
具体根据explian语句分析优化,当出现filesort需要优化