唯一聚集索引和聚集主键之间有什么明显的区别吗?

gor*_*ric 17 index sql-server-2005 primary-key clustered-index

我知道两者之间的含义意图可能有所不同,但是聚集主键和聚集唯一索引之间是否存在任何行为或性能差异?

Mar*_*ian 15

一个主要区别是唯一索引可以具有主键中不允许的 NULL 值。集群与否,这是主键与唯一键的实际实现之间的主要区别。

哦,事实上一张桌子可以有一个 PK 和多个 UK :-)。

这些都是意图而不是性能的差异。否则,我认为没有任何区别。在任何 PK 或 UK 之后,SQL Server 都会构建一个索引(取决于请求,是否聚集)并且它的使用方式对于来源是透明的。


mrd*_*nny 8

在聚集主键和唯一聚集索引之间,除了唯一聚集索引可以具有 NULL 值之外,没有任何不同。

非唯一聚集索引具有必须处理非唯一值的唯一标识符。