【发布时间】:2018-07-11 11:20:39
【问题描述】:
我有一个用户表,其中包含许多属性,例如电子邮件、用户名、密码、电话等。
我想保存一种新型数据(整数),我们称之为“超级大国”,但只有极少数用户会拥有它。 users 表包含 10K+ 记录,而少于 10 个用户将拥有超能力(对于所有其他用户,它将为空)。
所以我的问题是以下哪个选项在性能方面更正确和更好:
在 users 表中添加另一个名为“superpower”的列,这对于几乎所有用户来说都是空的
有一个名为 users_superpower 的新表,其中最多包含 10 条记录,并将用户映射到超级大国。
我想到的一些事情:
一个。第一个选项看起来很浪费空间,但它真的只是一个ingeger......
b.每次我查询用户时,第二个选项都需要左连接...
c。例如,如果“超级大国”数据是 5 列,答案会改变吗?
注意:我使用的是 hibenate 和 mysql,如果它改变了答案
【问题讨论】:
-
任何一个选项都可以。