SQLSERVER聚集索引和主键(主键)的误解

SQLSERVER聚集索引和主键(主键)的误解
很多人把主键和聚集索引混在一起,或者认为这是同一回事,这个概念是非常错误的。

主键是绑定到索引的约束(约束),它可以是聚合索引或非聚合索引。
因此,在(或组)字段上有主键,只是表示他有索引,但不一定是聚集索引。
例如,以下:
复制代码代码如下所示:
使用{ }

创建表# temppkcl

聚集的主键——聚合索引

---------------------------------
使用{ }

创建表# temppkncl

ID int主键聚集--非聚集索引

表# temppkcl } {
表# temppkncl } {

如果非聚集索引和聚集键不会添加,默认是建立在聚集索引
在聚合索引中,可以有重复的值。只要不在主键的同时设置,主键就不能有重复的值,这取决于聚合索引还是非聚集索引。
为了强调这一点,这是因为有些人觉得主键是放在它们的表单上的,并且认为表上有一个聚集索引,它是用B树的方式管理的。

如果主键不是聚集索引,则可以以堆的方式管理表,且效率较低。
--------------------------------------------------------------------------------
排序和重复值:
排序:当设置复合索引时,指定多个字段,哪些字段顺序是索引的顺序
它由索引上的第一个字段进行排序。
下列索引的顺序由id字段排序
1创建{ }指数temppkncl_id_ncl dbo。{ temppkncl }({身份},{一},{ })
重复值:如果为多个列定义主键约束,则可以重复列中的值,但主键约束定义中的所有列的任何值组合都必须是唯一的。
如下图所示,在purchasing.productvendor表的ProductID和VendorID列构成一个复合主键约束的表。
这确保ProductID和VendorID组合是独特的
这意味着,如果它是一个复合主键,那么如果ProductID列重复的ProductID和VendorID组合是独特的。
的含义:
(1)主键不是复合主键。
(2)主要的关键是建立在ProductID字段
(3)在ProductID字段的重复值
那么主键肯定会失败。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部