2009-04-17 147 views

回答

2

聚簇索引SCAN從頭到尾掃描整個聚簇索引(=數據表)。

聚集索引SEEK只掃描該索引的一個(希望很小的)部分/部分 - >要快得多!

馬克

+0

非常感謝你 – Anoop 2009-04-17 15:51:16

2

的掃描點擊索引中的每個條目而尋求公正遍歷到該項目被查詢,使得尋求更快。一般來說,除非必要,應避免掃描。

4

聚簇索引掃描是對具有聚簇索引的表進行的表掃描。默認情況下,主鍵是一個聚集索引,所以基本上是一個具有主鍵的表。

當謂詞包含除主鍵以外的列(並且沒有其他索引可用於滿足謂詞)時,會發生聚簇索引掃描。

當謂詞包含索引中的一列或多列時,會發生聚簇索引查找(和非聚簇索引查找)。這允許查詢處理器根據索引查找行的範圍,而無需掃描。作爲比較是直接值

select Name from Table where Group = 42 

,它可以:當所述條件適合的索引數據

1

甲尋求使用,以便它可以有效地利用索引的,例如,在像的查詢很容易被用來定位物品所在的索引部分。

的掃描時使用的條件是更復雜的,使得索引中的每個值必須被評估,例如在查詢中,如:作爲條件從索引使用計算值

select Name from Table where right(cast(group as varchar), 2) = '00' 

不容易被用來隔離索引的一部分,所有項目都必須被評估。