【发布时间】:2016-12-20 09:00:28
【问题描述】:
如果子表中存在未索引的 FK,则对父表 PK 的任何更新都会锁定整个子表,除非子表中的 FK 被索引。
我的问题是,如果我们想防止整个表锁定,那么 FK 索引是否必须是唯一的?或者索引是唯一的还是非唯一的都没有关系?
【问题讨论】:
-
这不应该取决于 FK 列有什么或将有什么吗?如果它将具有唯一数据,则应创建唯一索引。如果不创建常规。
-
@GurwinderSingh 我想知道索引是否唯一会影响锁定行为?
-
它可以是唯一的、非唯一的甚至是复合索引(如果 FK 列列在第一位)。