多对多表中的主键设计
多对多表中复合主键与代理自增主键的使用多表一直是争论的话题。虽然复合主键通过组合外键来保证唯一性,但代理键引入了一个额外的自动生成的 ID 字段。
有人认为代理键为插入提供了更好的性能,因为新记录可以附加到末尾而无需扰乱餐桌秩序。然而,这个论点是基于对数据库存储和索引的过时理解。
实际上,数据库表是使用平衡的多路树结构而不是数组来存储和索引的。这意味着无论主键设计如何,都可以有效地执行插入。此外,索引用于优化查询,使表行的顺序变得无关紧要。
因此,使用复合主键的好处超过了代理键的好处。复合主键:
因此,对于简单的两列多对多映射时,建议在外键列上使用复合主键。这为读取和写入操作提供了唯一性和最佳性能。
以上是多对多表中的复合键与代理键:哪种主键设计最好?的详细内容。更多信息请关注PHP中文网其他相关文章!