小编hac*_*van的帖子

复合主键是不好的做法吗?

我想知道复合主键是否是不好的做法,如果不是,在哪些情况下使用它们是有益的?

我的问题是基于这篇文章

数据库设计错误

注意关于复合主键的部分:

不良做法 6:复合主键

这是一个有争议的观点,因为现在许多数据库设计人员都在谈论使用整数 ID 自动生成的字段作为主键,而不是由两个或多个字段的组合定义的复合字段。这目前被定义为“最佳实践”,就我个人而言,我倾向于同意它。

复合主键的图像

然而,这只是一个约定,当然,DBE 允许定义复合主键,许多设计人员认为这是不可避免的。因此,与冗余一样,复合主键是一种设计决策。

但是请注意,如果您的具有复合主键的表预计有数百万行,则控制复合键的索引可能会增长到 CRUD 操作性能非常下降的程度。在这种情况下,最好使用一个简单的整数 ID 主键,其索引足够紧凑并建立必要的 DBE 约束以保持唯一性。

database-design

29
推荐指数
2
解决办法
4万
查看次数

标签 统计

database-design ×1