我有一个关于数据库表拆分的不寻常情况;我有一个名为“消息”的表,其中包含要通过电子邮件发送的消息的信息:
Message Status
-------------------------------- -------------
id | subject | body | status_id status_id | caption
-------------------------------- ----------------------
1 random bla 3 1 draft
2 second hello 3 2 scheduled
15 subj ok 1 3 archived
创建消息时,它的状态自动设置为draft
,可以scheduled
,最后,当发送给至少一个联系人时,它的状态是archived
。
我的老板建议应该将消息拆分为three tables
命名
草稿,
预定和
存档。
实际上,几乎每次您message
在 DB 中搜索 send 时(status is 'draft')
,该表都会包含大量不需要的数据(状态为“已归档”的消息)。但是,如果我拆分表,每次更改消息的状态时,我都必须将其插入到相应的表中,并且delete
从当前status
表中插入。
由于我以前没有听说过这种做法,所以我征求意见。它对split
表格有效吗?提前致谢