我对执行计划有些陌生。我一直认为聚集索引要快得多,因为实际数据行包含在索引树的叶级中,而非聚集索引仅包含索引列值加上指向剩余行数据位置的指针。因此,非集群的 IO 比集群的多。
为了测试这一点,我使用了一个 1,000,000 记录表,以EmployeeID
(第一列)作为主键,然后还在同一字段上添加了一个非聚集索引。然后,我使用查询提示来比较正在使用的每个索引的结果。
Select EmployeeID from Employees with(index(PK_EmployeeID))
go
select EmloyeeID from Employees with(index(IX_EmployeeID))
go
结果表明,集群比非集群有更多的 IO 和查询成本(相对于批处理)。有人可以解释一下吗?