逻辑删除和物理删除的区别

一、逻辑删除

逻辑删除的本质就是修改操作,所谓的逻辑删除并不是真的删除,

而是在表中将对应的是否删除标识(is_delete)或者说是状态字段(status)做修改操作。

比如0是未删除,1是删除。在逻辑上数据是被删除了,但是数据本身依旧存在库里。

对应的sql语句:
update 表名 set is_delete = 1 where id =1;
语句表示,在该表中将id为1的信息进行逻辑删除,那么客户端进行查询id为1的信息,
服务器就不会提供信息。如果想继续为客户端提供信息,可以把is_delete更改为0.

在互联网产品设计中,涉及用户删除数据的时候, 一般都是“假删除”,也就是“逻辑删除”,意思是

对数据进行删除标记, 实际上并没有在物理上真的删除数据,例如用户删除一个订单或者删除一个照片。

其实文件或者数据没有被真正的删除,只不过是文件名的第一个字节被操作系统无法识别的字符,

通常这种删除操作是可逆的,也就是可以把这些被逻辑删除的数据通过适当的工具或者软件来恢复。

注:
这些被逻辑删除的数据并不是永远不会删除,因为数据储存是需要数据硬盘的,如果所有被用户删除的数据都一直
保存,占用的数据硬盘会越来越大,而这些数据的价值又不是很大。所以通常情况是存储某一个时间范围内的已删数据,超出设定时间的数据就进行物理删除。

二、物理删除

物理删除就是真正的从数据库中删除操作

对应的sql语句:
delete from 表名 where条件; 
执行该语句,就是将数据库中该信息进行彻底删除,无法恢复

三、逻辑删除使用案例

其实回收站的原理,其实就是利用了逻辑删除,对于删除文件进入回收站的本质只是在操作系统的帮助下

对文件加上了某个标记,资源管理器中对含有这种标记的文件不会显示。当从回收站恢复的时候只是移除了加的标记而已,但是清空回收站就是进行了物理删除

而商城网站,比如淘、京东…会大量使用逻辑删除进行操作数据库。

注: 切记,作为编程人员对于数据删除,一定要谨慎,特别是物理删除。
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值