索引列排序-----order by与索引之间的关系

当order by 中的字段出如今where条件中时,才会利用索引,而不排序,更准确的说,order by 中的字段在执行计划中利用了索引时,不用排序操做。 

这个结论不只对order by有效,对其余须要排序的操做也有效。好比group by 、union 、distinct等。 

查询只使用一个索引,所以若是where子句中已经使用了索引的话,那么order by中的列是不会使用索引的。所以数据库默认排序能够符合要求的状况下不要使用排序操做;尽可能不要包含多个列的排序,若是须要最好给这些列建立复合索引。数据库

相关文章
相关标签/搜索