数据库软删除

数据库软删除

这是个问题

今天研究个博客项目的开源代码时,发现了一个奇怪的现象,就是发现它在数据库中查找的语句是下面这样

select 属性 from 表名 where is_deleted = 0 limit 1

它的目的是想找出表中没有被删除的数据,但是为啥要用这个 is_deleted 来记录这条数据是不是被删除了呢?直接在数据库删除了不好吗?

冷静分析

百度了一下,这原来是数据库软删除
从数据库删数据是一个非常有风险的事情,也许你会认为一些无效数据没有保留的必要,却很容易给后续的数据分析带来糟糕的事情。所以,设计数据库时就用 is_deleted 属性来记录是不是被删除了,而不是直接删除

这同时也打消了我的一个好奇心,之前我认为是不是注销了某软件的账号,再注册回来就可以享受新用户的福利了,现在知道了软删除我觉得之前的我还是太年轻

但是如果不删除数据库中的没用数据,那日积月累不是不堪重负?
所以正确的做法是定时将这部分软删除的数据以归档的形式放入数据仓库

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值