在SQL Server 2005中,查询分析器多次告诉我在已经具有聚簇索引的表的主ID列上创建非聚簇索引.遵循此建议后,查询执行计划将报告查询应该更快.
为什么同一列上的非聚集索引(具有相同的排序顺序)比聚簇索引更快?
聚簇索引具有表的所有数据,而非聚簇索引仅具有列+聚簇索引的位置,或者如果它位于堆(没有聚簇索引的表)上的行.因此,如果您执行计数(列)并且该列使用非聚簇索引编制索引,则SQL Server只需扫描比聚簇索引更快的非聚簇索引,因为更多内容将适用于8K页