我正在设计一个新的数据库模型,并且我正在讨论如何为表设置主键。
如果我给表2主键,它肯定有助于数据完整性,以确保没有从任何方向输入重复。因此,如果我有一个关联表,其中CompanyID和ContactID作为我的主键(我需要公司和联系人之间的多对多关系),如果我现在要将此表与另一个表此联系适用于某个特定领域的此公司(我有另一个包含所有各种字段类型的表),我的相关表现在有3个主键,包含CompanyID,ContactID和FieldID。
另一个选项是我更习惯的,那就是给我的关联表自己的id字段,它将是主键,然后将其作为新表中的外键。为了完整性,第二种选择似乎是一种骗局,但我似乎记得在某处读取为一个字段制作一个以上的主键会减慢查询速度。
当速度是一个重要因素时,最好的方法是什么,不仅是选择,还是插入和更新? 感谢。