2009-04-17 112 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' 

不容易被用来隔离索引的一部分,所有项目都必须被评估。