SQL - 一个很长的 table 有几个外键 VS 几个短的 table

SQL - One very long table with several foreign keys VS several short tables

在性能方面,什么会更好?

一个 table 有几个外键和很多行

几个 table 有一个外键,每个 table 的数据较少。

示例:

我想创建一个 table,其中包含供用户查看的注释,每个注释都与另一个 table 相关。 在一个选项中它将是

备注(ID、文本、CustomerID、AccountID、UserID、AnotherID) 它将包含每个不相关的外键的空值,因此:

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

另一种选择是打开单独的 tables,每个都将输入外键:

AccountNotes(ID, Text, AccountID) 

CustomerNotes(ID, Text, CustomerID)

UserNotes(ID, Text, UserID), etc...

最后一个选项是将其视为多对多关系,尽管它不是(例如 Notes_to_Accounts(NoteID,AccountID) table..)。

我在这里找到的所有答案都是关于一个 table 有几列,然后是很多小的 table 有更少的列,这不是我要解决的问题。

提供第三种选择,但对于简单的实体(一个文本字段)来说可能太复杂了:

Notes(Id, Text)
AccountNotes(AccountId, NoteId)
CustomerNotes(CustomerId, NoteId)