【发布时间】:2017-09-08 11:48:20
【问题描述】:
我有一个场景,其中有两个具有唯一元素的表,并且两个表都包含相同类型的记录。现在一个表有主键,另一个没有。那么如果我在两个表中都有唯一元素,那么拥有主键有什么好处。以及主键与索引的关系。? 我在诺基亚面试中被问到这个问题。非常令人困惑,请用某种例子回答。
【问题讨论】:
我有一个场景,其中有两个具有唯一元素的表,并且两个表都包含相同类型的记录。现在一个表有主键,另一个没有。那么如果我在两个表中都有唯一元素,那么拥有主键有什么好处。以及主键与索引的关系。? 我在诺基亚面试中被问到这个问题。非常令人困惑,请用某种例子回答。
【问题讨论】:
拥有主键有什么好处?
主键诱导或强制列具有两个条件-
因此,当插入表格行时,它必须满足这两个条件。如果表已经有一些记录,它将在添加约束时检查唯一性。如果该属性有重复条目,则不能添加主键约束。
主键和索引有什么关系?
当您将属性声明为PRIMARY KEY 时,默认情况下会在该属性上创建索引。
当记录数过多时,这有助于更快地访问记录。 (=> 更快的获取)。
但是对于小表,索引会减慢速度,因为每次插入/更新一行时它都需要更新索引。
【讨论】: