SQL Server 2008
看看执行计划,集群指数扫描占70%,为什么?它是什么?
答案 0 :(得分:4)
聚簇索引扫描表示正在读取聚簇索引的所有行。它通常在大型表上表现不佳,并且通常表明需要进行额外的索引或查询调优。
答案 1 :(得分:2)
最有可能的是,它会查看主键索引,默认情况下是聚簇索引。不是桌面扫描,但足够接近。
简单来说,您缺少与WHERE子句匹配的索引,并包含SELECT子句。
执行SELECT * FROM ...
时也会发生这种情况,因为扫描PK /聚集索引比使用任何WHERE索引+键查找更容易
架构+查询会有所帮助。
答案 2 :(得分:1)
群集索引是SQL Server中的一个特殊索引,它是SQL Server将数据物理存储在磁盘上的顺序(因此每个表只能有一个聚簇索引,因为您只能以一种方式实际存储它:))。
因此,您的SQL导致引擎使用此索引扫描表。
答案 3 :(得分:1)
聚簇索引强制基础表记录按索引定义的顺序进行物理保存。它通常由主键使用。
如果您正在进行群集索引扫描,并且您对主键以外的某些键使用order by
子句,那么您很可能错过了更好的索引......