goric Asked: 2011-01-22 09:51:17 +0800 CST2011-01-22 09:51:17 +0800 CST 2011-01-22 09:51:17 +0800 CST 唯一聚集索引和聚集主键之间有什么明显的区别吗? 772 我了解两者之间的含义或意图可能存在差异,但是聚簇主键和聚簇唯一索引之间是否存在任何行为或性能差异? sql-server-2005 index 2 个回答 Voted Best Answer Marian 2011-01-22T10:29:05+08:002011-01-22T10:29:05+08:00 一个主要区别是唯一索引可以具有主键中不允许的 NULL 值。集群与否,这是主键与唯一键的实际实现之间的主要区别。 哦,事实上,一张桌子可以有一个 PK 和多个 UK :-)。 这些都是意图上的差异而不是性能上的差异。否则,我认为没有任何区别。在任何 PK 或 UK 后面,SQL Server 都会建立一个索引(取决于请求,是否集群),并且它的使用方式对于来源是透明的。 mrdenny 2011-01-22T14:10:38+08:002011-01-22T14:10:38+08:00 在聚集主键和唯一聚集索引之间,除了唯一聚集索引可以具有 NULL 值之外没有任何不同。 非唯一聚集索引具有必须处理非唯一值的唯一标识符。
一个主要区别是唯一索引可以具有主键中不允许的 NULL 值。集群与否,这是主键与唯一键的实际实现之间的主要区别。
哦,事实上,一张桌子可以有一个 PK 和多个 UK :-)。
这些都是意图上的差异而不是性能上的差异。否则,我认为没有任何区别。在任何 PK 或 UK 后面,SQL Server 都会建立一个索引(取决于请求,是否集群),并且它的使用方式对于来源是透明的。
在聚集主键和唯一聚集索引之间,除了唯一聚集索引可以具有 NULL 值之外没有任何不同。
非唯一聚集索引具有必须处理非唯一值的唯一标识符。