当我有固定数量的字段可能值时,我应该在mysql中创建一个单独的表吗?

osh3o9ms  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(353)

我正在做一些数据库优化,如果我有一个表的话,我正在徘徊 Users ,那张table有一个 _status 字段,我是否应该为如下状态代码创建一个单独的表:

Table statuses:
    _status_id: PK int(16) Ai,
    _status_name: varchar(32)

然后喝一杯 status_code_id 中的字段 Users 链接到 _status_id 磁场 statuses 表,或者直接在用户中写入\u status\u name?
我应该注意到,有固定数量的状态,我不打算添加任何额外的数据,如状态描述或状态代码或类似的状态。它总是会有4种状态-活动,不活动,离开,忙碌。
我想如果我做些 get by status query ,如果将它们分为两个表,则需要更长的时间,如果将它们全部放在一个表中,则需要更长的时间。

0x6upsns

0x6upsns1#

这取决于案例:
是这样吗 status 在你的申请中很重要吗?它在许多逻辑中都有使用吗?然后它应该有一个单独的表,因为它将减少应用程序中的硬编码。
在理论层面上,还应该有一个单独的表,因为它代表一个定义良好的实体((imho)

相关问题