主键的概念对于SQL Server数据库引擎有什么意义?我的意思不是在“ID”列上创建的聚集/非聚集索引,我的意思是约束对象“主键”。存在与否有什么关系吗?
备择方案:
- 更改表添加主键聚集
- 更改表创建聚集索引
这有什么不同吗?
一般来说,KEY 是唯一标识表中每一行的列(或列的组合)。一个表中可能有多个 KEY(例如,您可能有一个Person
表中的社会安全号码和自动递增号码都是 KEY)。
数据库设计者选择one这些 KEY 中的一个作为主键。从概念上讲,这并不重要which选择 KEY 作为主键。然而,由于主键通常用于从其他表(通过外键)引用该表中的条目,因此选择一个好的主键可能是相关的。 (A)表现(b)可维护性:
(a) 由于主键通常用于 JOIN,因此主键上的索引(其大小、分布……)比其他索引与性能更相关。
(b) 由于主键在其他表中被用作外键,changing主键值总是很麻烦,因为其他表中的所有外键值也需要修改。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)