[英]SQL - One very long table with several foreign keys VS several short tables
在性能方面,哪个更好?
一个带有几个外键和很多行的表
要么
具有一个外键的几个表,每个表的数据较少。
例:
我想创建一个表,其中包含供用户使用的注释,每个注释将与另一个表相关。 一种选择是
注释(ID,文本,客户ID,帐户ID,用户ID,另一个ID)将为每个不相关的外键包含空值,因此:
ID Text CustomerID AccountID UserID AnotherID
1 "Call James" 1 null null null
2 "Call Havale" null 2 null null
3 "Call Shimi" null null 4556 null
另一个选择是打开单独的表,为每个表键入外键:
AccountNotes(ID, Text, AccountID)
CustomerNotes(ID, Text, CustomerID)
UserNotes(ID, Text, UserID), etc...
最后一个选择是将其视为多对多关系,尽管并非如此(例如, Notes_to_Accounts(NoteID,AccountID)
表..)。
我在这里找到的所有答案都是关于一个具有几列的表,然后是许多具有较少列的小表,这不是我要解决的问题。
提供第三个选项,但对于简单实体(一个文本字段)来说可能太复杂了:
Notes(Id, Text)
AccountNotes(AccountId, NoteId)
CustomerNotes(CustomerId, NoteId)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.