采访者问我聚集索引和非聚集索引之间的区别,然后进一步深入并询问了一个问题-当表具有聚集索引和非聚集索引时,非聚集索引是否仍指向表中的数据行?我说是的,立即我以为是错的。它是否指向按聚簇索引排序的数据行或原始数据行?有人可以对此发表一些看法。
当针对在其上创建非聚集索引的列发出查询时,数据库将首先转到非聚集索引,并在表中查找相应行的地址。然后它将转到该行地址并获取其他列值。由于此附加步骤,非聚集索引比聚集索引慢。
下面有一篇关于聚簇和非聚簇索引的不错的文章:它将为您提供一个关于索引的好主意:http://www.sqlservercentral.com/blogs/practicalsqldba/2013/03/14/sql-server-part-4-explaining-the-non-clustered-index-structure-/How NonClustered Index works in SQL Server