指数多列的唯一约束

问题描述:

鉴于父表p与PK列id和子表c与PK列foobar已经部分。 cfoo参考文献pid指数多列的唯一约束

  1. (为什么)我应该在c上创建一个索引。 foo还是不?
  2. 而如果cbar不存在?

唯一严格的要求是对母表; documentation说:

通常,外键约束的父键是父表的主键。如果它们不是主键,那么父键列必须共同受到UNIQUE约束或具有UNIQUE索引。

没有为子表没有这样的要求。不过,也有当子表中搜索特定键值的情况下(例如,当父行被删除),所以

的指数应该在孩子中创建的每个外键约束的键列。

如果foo列是索引的第一列,则索引可以被用来在foo有效地搜索值。 (显性和隐性(PK)指数没有区别)。