Sql server 2008 r2 在SQL Server 2008 R2中的非聚集索引中,索引是指向一行还是一组行?

Sql server 2008 r2 在SQL Server 2008 R2中的非聚集索引中,索引是指向一行还是一组行?,sql-server-2008-r2,non-clustered-index,Sql Server 2008 R2,Non Clustered Index,我试图理解非聚集索引如何查找表中的数据。我认为,非聚集索引在查找索引列值时,只指向数据页或一组数据行,而不是指向单个行。换句话说,在使用非聚集索引时,我们仍然需要扫描数据页,以获取正在查找的特定数据行。这是真的吗?如果非聚集索引是在堆(没有聚集索引的表)上定义的,则每个索引项都包含行地址:(FileId:PageNumber:SlotNumber) 因此,在这种情况下,没有必要进行搜索 如果非聚集索引是在具有聚集索引的表上定义的,则非聚集索引中的每一行都包含聚集索引键。要访问行,SQL Serv

我试图理解非聚集索引如何查找表中的数据。我认为,非聚集索引在查找索引列值时,只指向数据页或一组数据行,而不是指向单个行。换句话说,在使用非聚集索引时,我们仍然需要扫描数据页,以获取正在查找的特定数据行。这是真的吗?

如果非聚集索引是在堆(没有聚集索引的表)上定义的,则每个索引项都包含行地址:(FileId:PageNumber:SlotNumber) 因此,在这种情况下,没有必要进行搜索


如果非聚集索引是在具有聚集索引的表上定义的,则非聚集索引中的每一行都包含聚集索引键。要访问行,SQL Server必须在聚集索引上执行搜索以查找包含该页的行,然后扫描该页中的行