usr*_*usr 3 database sql-server database-design primary-key sql-server-2008
主键的概念对SQL Server的数据库引擎有什么意义?我不是指在"ID"列上创建的聚簇/非聚簇索引,我的意思是约束对象"主键".它是否存在是否重要?
备择方案:
这有什么不同吗?
通常,KEY是唯一标识表中每一行的列(或列的组合).表中可以有多个KEY(例如,您可能有一个Person
表,其中社会安全号码和自动增加的号码都是KEY).
数据库设计者选择其中一个 KEY作为PRIMARY KEY.从概念上讲,选择哪个 KEY作为PRIMARY KEY 并不重要.但是,由于PRIMARY KEY通常用于从其他表(通过FOREIGN KEY)引用此表中的条目,因此选择一个好的PRIMARY KEY可以与(a)性能和(b)可维护性相关:
(a)由于主键通常用于JOIN,因此主键上的索引(其大小,分布......)与其他索引的性能更相关.
(b)由于主键在其他表中用作外键,因此更改主键值总是很麻烦,因为其他表中的所有外键值也需要修改.
归档时间: |
|
查看次数: |
4768 次 |
最近记录: |