为什么表在SQL Server中不允许多于一个聚簇索引?

时间:2017-11-18 16:56:48

标签: sql sql-server

通常SQL Server表只允许一个聚簇索引。你能解释一下这背后的内部架构吗?

2 个答案:

答案 0 :(得分:2)

聚簇索引意味着数据实际上是根据聚簇索引中的列/列在数据页上进行排序的。

数据只存储一次,因此只能排序一次。因此,只允许一个群集。

通常,允许任意数量的其他索引,因此这不是一个严重的限制。

答案 1 :(得分:1)

聚簇索引指示表中记录的物理顺序。 所以你不能有两个或更多的聚簇索引;记录只存储一次。主键约束自动创建聚簇索引,并根据其包含的列布置表中的数据。

非聚集索引是仅表示表中数据视图的索引 - 即,数据按逻辑方式排序。这就是为什么你可以拥有任意数量的非聚集索引,但只有一个聚簇索引。