索引列排序-----order by與索引之間的關係

當order by 中的字段出如今where條件中時,纔會利用索引,而不排序,更準確的說,order by 中的字段在執行計劃中利用了索引時,不用排序操做。 

這個結論不只對order by有效,對其餘須要排序的操做也有效。好比group by 、union 、distinct等。 

查詢只使用一個索引,所以若是where子句中已經使用了索引的話,那麼order by中的列是不會使用索引的。所以數據庫默認排序能夠符合要求的狀況下不要使用排序操做;儘可能不要包含多個列的排序,若是須要最好給這些列建立複合索引。數據庫

相關文章
相關標籤/搜索