聚集索引扫描和聚集索引查找有什么区别?
聚集索引扫描会从开头到结尾扫描整个聚集索引(=数据表)。
聚集索引搜索仅扫描该索引的一部分/节(希望很小)-->速度更快!
Marc
扫描会遍历索引中的每个条目,而查找只会遍历到被查询的项,使得查找速度更快。通常情况下,应该尽量避免使用扫描,除非必要。
当条件符合索引数据时,使用搜索可以有效地利用索引,例如在查询中:
select Name from Table where Group = 42
由于比较是一个直接的值,因此可以轻松地用来定位索引中物品所在的部分。
当条件更为复杂,需要评估索引中的每个值时,扫描就会被使用,例如在查询中:
select Name from Table where right(cast(group as varchar), 2) = '00'
由于该条件使用了从索引中计算出的值,很难用来隔离索引的一部分,因此必须评估所有项目。