详细看:http://www.cnblogs.com/kissdodog/p/3160560.html
自己总结:
扫描Scan:逐行遍历数据。
查找Seek:根据查询条件,定位到索引的局部位置,然后再开始查找
聚集索引表:含有聚集索引(clustered index)
堆表:不含聚集索引的表。
注意:仅含有非聚集索引(Nonclustered index),而没有聚集索引(clustered index)的表是堆表
数据访问操作会有以下情况:
1、表扫描Table Scan;(无索引的表为堆表select * from students)
2、聚集索引扫描 Clustered Index Scan;(在堆表上建立聚集索引,即为聚集索引表。但聚集索引字段不为 谓词(where条件) 时,引起该扫描(聚集表的数据存在于聚集索引的叶级节点。因此,聚集扫描与表扫描其实差别不大) select * from students where Name='Jerry' (Clustered_Index_ID))
3、聚集索引查找Clustered Index Seek;(聚集索表,且谓词(where条件)为聚集索引字段,查找指定范围 select * from students where ID=5 (Clustered_Index_ID))
4、索引扫描NonClustered Index Scan;(非聚集索引能够覆盖所需的数据 select Name from students (NonClustered_Index_Name))
5、书签查找;(先通过谓词进行索引查找,在根据键查找或对查找获取select的其他字段数据 select * from students where name='jerry' 先进行NonClustered_Index_Name查找来定位,再Clustered_Index_ID键查找来获取select字段值)