数据库中间表要不要用联合主键?

查看 30|回复 1
作者:yodhcn   
很多 ORM 的官方文档对于 many-to-many 关系,在其给出的例子中,中间表总是创建联合主键,例如:
export const usersToGroups = pgTable(
  'users_to_groups',
  {
    userId: integer('user_id')
      .notNull()
      .references(() => users.id),
    groupId: integer('group_id')
      .notNull()
      .references(() => groups.id),
  },
  (t) => ({
    pk: primaryKey({ columns: [t.userId, t.groupId] }),
  }),
);
但这种习惯真的好吗?为了避免页分裂,不是应该推荐主键自增吗?
各位建表时,中间表是以什么样的结构建的?对于支持 row_id 的数据库,主键是不是都没有必要了,只用一个联合 unique 索引就可以了?
yuanmomo   
我印象非业务主键,id 没有任何意义,就是自增的。然后其他键都是用的 unique 就够了。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部