逻辑删除和物理删出

  • 物理删除:就是真正的删除,从数据库中删除,无法恢复数据在数据库中找不到了。

  • 逻辑删除:可以说是假删除,也就是在数据中代表是否被删除字段状态修改为“被删除状态,在数据库中还可见,数据被误删了还可以恢复。

例如在数据库中,该条数据有字段:is_del 字段以后两种状态:

  • 被删除状态:0
  • 未被删除状态:1
    该条数据被逻辑删除后即将其原本的字段is_del 的1修改为0,操作的时候页面上显示已被删除了而已,这样有一个弊端,数据库的使用率会越来越大,而且所有的查询都要添加where条件区分已经被删除的数据。当然也可以另外新建一个表 用来存储被删除的信息,比如我们可以建立一个触发器 或者是写一个存储过程,但也会有额外的开销,使用率还是不会减少。

下面是自己的想法,本人能力有限,不知道可不可以实现,现在还在学习阶段,以后会了会及时跟新的哦,非常欢迎有人可以指导指导,下方联系方式:
不知到有没有一种机制就是逻辑删除可以: 我们新建一个表 用来存储被删除的信息,删除后的多长时间(以一个月为例),一个月后没有没对这些数据进行操作使用(恢复)就自动进行清理数据(delete真正的删除)。这样的话就避免了误删数据不好恢复的状态。只要在期限内就很容易恢复被误删了数据了,而且数据库的使用也会有很大的提升,不会越积越多。

E-mail address :[email protected]
                             

      WeChat                                           QQ

发布了82 篇原创文章 · 获赞 26 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_44411569/article/details/97750025