逻辑删除和物理删除

 

 

 

所谓物理删除:就是直接删除掉数据库中的数据记录,也叫做硬删除,或叫真删除。

 

所谓逻辑删除:指的是在每张可能删除数据的表里添加一个删除标记列比如叫做IsDeleted,删除只是修改一下这一列的值。并不从数据库记录中抹除。也叫软删除,或叫假删除。

 

总结一下两方的论点:

 

1)赞成逻辑删除的:根本出发点是为了数据安全,如果数据每次都从数据库里面真正删除掉的话,要想恢复就太困难了。极端一点的说学过数据库的都应该听老师讲过删除数据不能真正删除。真正删除数据的都是没做过项目的实习生。

 

2)赞成物理删除的:一般都是从开发的角度指出,第一每次查询都要加一个判断删除标记的条件,第二多层级联关系的表操作会非常痛苦。极端一点的就说逻辑删除那一套都是被来自于Visual FoxPro的糟粕洗脑了。

 

那么,有朋友能从自己的设计和开发的经验出发,谈谈以上两种方案的取舍问题吗?

 

我个人是倾向于物理删除的,一是对数据库定期备份确保必要情况下的恢复,二是自己管理好删除数据的代码和权限判断。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值