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

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字段.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。