聚集索引与非聚集索引

聚集索引和费聚集索引的不同之处在于叶子级别:

聚集索引的叶子级别是数据表中行,它在叶级表中维护所有数据。聚集索引不是该数据的副本,而是数据本身。

非聚集索引的叶级行仅包含索引键列和指向特定数据行的行定位符。行定位符的内容取决于该表是一个堆(没有聚集索引的表称为堆)还是一个聚集表。 堆上非聚集索引叶级行的行定位符是一个8字节的物理指针,指向数据行,叫做RID,它由数据库的文件号、文件中的目标页号、目标页的行号(从0开始)组成;聚集表上的非聚集索引叶级行的行定位符是一个聚集键,聚集键由目标行的聚集索引键值和唯一标识符组成。所以聚集索引的索引列可以默认看做是非聚集索引的包含列。

1. 聚簇索引的顺序是记录存储的物理顺序,非聚簇索引是逻辑顺序;对查询来说聚簇索引快,但聚簇索引会影响插入、更新、删除的效率。
2. 一张表只有一个聚簇索引, 可有多个非聚簇索引.

原文地址:https://www.cnblogs.com/end/p/1825172.html