聚集索引列上的非聚簇索引可提高性能?

Kev*_*dge 10 sql-server indexing sql-server-2005

在SQL Server 2005中,查询分析器多次告诉我在已经具有聚簇索引的表的主ID列上创建非聚簇索引.遵循此建议后,查询执行计划将报告查询应该更快.

为什么同一列上的非聚集索引(具有相同的排序顺序)比聚簇索引更快?

SQL*_*ace 16

聚簇索引具有表的所有数据,而非聚簇索引仅具有列+聚簇索引的位置,或者如果它位于堆(没有聚簇索引的表)上的行.因此,如果您执行计数(列)并且该列使用非聚簇索引编制索引,则SQL Server只需扫描比聚簇索引更快的非聚簇索引,因为更多内容将适用于8K页


Joe*_*orn -1

聚集索引通常会更快,但只能有 1 个聚集索引。因此,如果表的不同列上已经有聚集索引,那么非聚集索引是最好的选择。