2011-03-14 81 views
0

我覺得索引列順序很重要。因此,列(A,B)上的索引不會用於SELECT WHERE B = yy。 (不是我認爲這很重要,但假設索引是非聚類的)Sql Server 2005索引列順序

但是我只是運行了一個查詢,該索引適用於帶有索引的表格,就像上面那樣,並且得到了意想不到的結果。根據sql server management studio,所使用的實際查詢計劃涉及使用非聚集索引。

爲什麼會發生這種情況?

回答

0

它可能報告了一個索引掃描,它可以與全表掃描進行比較。設想一個地址簿索引(大部分是)LastName,FirstName。對「Doe,John」的查詢將導致索引搜索,而對「John」的查詢將導致索引掃描。