关于数据库逻辑删除的设计方案

2020-08-20  本文已影响0人  阿星_

1 如果把删除的数据,移除到其他表.

有2个方案,1是放到一个删除数据记录表,删除数据存json和表名2有删除的业务表对应一个业务删除数据表.

前者优点只用多维护一个service,缺点无法查询.

后者优点是可查询(查起来也麻烦,有删除和未删除数据2个表要查),但是维护麻烦,

2 所以我的考量是

分三种情况:

a重要的业务表加上delete字段. 比如订单.

然后加上unque_token枚举,联合业务字段做唯一索引.

unque_token 可以是0 null.  但是null不走索引.

也可以是 0 时间戳的integer,会走索引.

然后代码维护unque_token.

b不重要的业务有删除需求.

可以考虑只加delete字段.

不考虑建唯一索引,以及unque_token,快速开发.

c如果业务无删除需求.

就不建delete字段,不预留delete字段.

上一篇 下一篇

猜你喜欢

热点阅读