在我的应用程序中,我有一个拥有个人资料和地址的用户。这些表之间的关系是:
id
,输入,注册,发送电子邮件...... user_id
,address_id
,first_name,last_name,性别,状态等。id
,城市,街道,house_number,公寓这些表格上有一些Enum
个字段,但我认为它可能效率不高,因为我会根据地址和个人资料进行一些密集的用户查询所以我想也许我应该使用参考表呢? (我也用更好的整数获得索引。)
例如,在profiles
我有一个status
枚举字段,现在获得以下值:
所以我想到可能在statuses
- profiles
上有status_id
表和外键。
关于这一点的另一个困境是我是否应该有性别参考表?目前,我只接受我的枚举字段中的male
和female
值用于性别,但将来我们可能会想要添加变性或其他任何内容。我还将根据课程性别进行密集的用户查找。我还应该将它提取到参考表中吗?
答案 0 :(得分:0)
枚举在内部存储为数字。配置文件表中的性别或状态等数据不会经常修改。所以我个人更喜欢枚举。这样可以避免引用开销。
然而,它有其自身的缺点。
请参阅http://chateau-logic.com/content/why-we-should-not-use-enums-databases以了解不使用枚举的原因。如果您在应用程序中使用多种语言,那么枚举肯定是NO。