我有 2 张桌子。一个人通过电子邮件地址和唯一的 ID 不存储任何内容。这两个字段都是独一无二的。我有另一个表存储有关一个人的数据。姓名、电话、地址、职业等。person 表中有固定数量的字段。我相信10是这个数字。
进行此设置的原因是我通过电子邮件跟踪个人的更改,因为这是我拥有的关于某人的唯一独特信息。这些人可能会通过几种方法在我的网站上发帖,但我不会长时间在我的网站上发帖。根据他们发帖的位置和方法,我会收集某些数据。数据可能会随着时间而改变。人们搬家、更换电话号码或职业。所以我有几条记录来匹配一封电子邮件,以便我可以显示随着时间的变化。
我的问题是,这是一个更好的 MySQL 设置。我确定这是一个加载的问题。我应该有:
ID | EmailID | Name | Phone | Address | City | Created | etc....
或者
ID | EmailID | FieldType | Value | Created
第一个设置显然将一个人的所有数据与关联的 emailID 一起存储在一行中。第二个字段逐字段存储数据。因此,我可以插入一行,其中包含 FieldType和 and下occupation
的值,而不是整个数据集。developer
emailID
由于不是每次插入都需要所有数据,我觉得第二种方法最好,但我不是 100% 确定。使用第二种方法,我只添加一行并插入我需要的内容,而不是整行。
希望这是有道理的。