一、逻辑删除

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

而是在表中将对应的是否删除标识(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条件;
执行该语句,就是将数据库中该信息进行彻底删除,无法恢复

三、逻辑删除使用案例

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

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

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

注: 切记,作为编程人员对于数据删除,一定要谨慎,特别是物理删除。

逻辑删除和物理删除的区别相关推荐

  1. 小知识【1】逻辑删除和物理删除的区别

    一 逻辑删除 逻辑删除不是真正意义上的删除,而是逻辑意义上的删除.通常的实现方式是在数据表中添加一个字段,比如on_off(开关). 当on_off为0时:表示数据"关",即&qu ...

  2. 数据逻辑删除和物理删除的理解

    物理删除: 直接对数据表的数据执行delete或者drop指令,实现对数据的清除,数据消失,腾出了存储空间,减少数据量,提高表的访问性能. 逻辑删除: 使用字段标记位(通常使用is_delete)字段 ...

  3. 防用户误删除,耗费一周时间把DeleteMark标志都加上来了,所有的删除操作从“物理删除”转为“逻辑删除”

    用 DeleteMark 的出发点: 1:虽然在界面上有删除提示,但是客户错误的删除了一笔数据后,想恢复被删除的数据是特别困难的,有人曾比喻,若输入数据的工作量,用1来比喻,那恢复被误删除的数据的工作 ...

  4. Elasticsearch系列「二」如何物理删除给定期限的历史数据?

    1.题记 想到删除,基础认知是delete,细分为删除文档(document)和删除索引:要删除历史数据,基础认知是:删除了给定条件的数据,用delete_by_query.  实际操作发现:  - ...

  5. Elasticsearch如何物理删除给定期限的历史数据?

    1.题记 想到删除,基础认知是delete,细分为删除文档(document)和删除索引:要删除历史数据,基础认知是:删除了给定条件的数据,用delete_by_query.  实际操作发现:  - ...

  6. 【Elasticsearch】Elasticsearch如何物理删除给定期限的历史数据?

    文章目录 1.概述 1.题记 2.常见的删除操作 2.1 删除单个文档 2.2 删除满足给定条件的文档 2.3 删除单个索引 2.4 删除所有索引 3.删除文档后台做了什么? 4.删除索引和删除文档的 ...

  7. 探究 | Elasticsearch如何物理删除给定期限的历史数据?

    1.题记 想到删除,基础认知是delete,细分为删除文档(document)和删除索引:要删除历史数据,基础认知是:删除了给定条件的数据,用delete_by_query. 实际操作发现: - 删除 ...

  8. 在LVM中恢复已删除的物理卷

    本文中将详细介绍如何从已删除的物理卷或故障磁盘场景中恢复. 系统环境 Centos8 现有的文件系统 下面使用了/dev/sd[a-c]三块磁盘,将他们划入一个卷组,创建两个逻辑卷: # Create ...

  9. mongodb 物理删除数据

    刚开始用mongodb的时候,感觉很好用,速度很快,不过后面就遇到一个问题,数据物理内存一直增加,删除表也不管用. 然后网上找了各种办法,最后发现一个办法管用,就是物理删除存储数据. 操作如下: 1. ...

  10. 关于数据库逻辑删除(伪删除)的设计方案探讨

    项目上碰到过关于数据采用了逻辑删除导致的问题,情况是这样:原先的代码中,对于表T中的数据的删除采用的是逻辑删除,但是其他使用该数据的地方并没有针对逻辑删除进行配套的处理.该表T中字段A 是unique ...

最新文章

  1. SQL 2014 in-memory中的storage部分
  2. gimp 去掉一个颜色的背景_不用背景图,PPT也能做的高大上?网友:看完这页PPT,我信了...
  3. 推荐 | 8 个 SpringBoot 精选项目
  4. laravel 获取最后一条sql的小函数
  5. MySQL事务隔离级别解密
  6. Django Celerybeat日志报错处理('NoneType' object has no attribute 'is_due')
  7. java电子书大全 下载
  8. html怎么美化输入框,css 美化input输入框-美化按钮
  9. mysql (1) 聚集索引和非聚集索引
  10. js中 this与that
  11. 打开我的电脑的快捷键
  12. 腾讯ISUX网页前端代码分析
  13. CSS 渐变背景 之 线性渐变
  14. 实时数仓实践(一)之数据库实时增量同步工具-CDC(Change Data Capture)
  15. 行远自迩,乘势前行 | 菊风再中标中原银行远程银行项目
  16. mysql CAPI与C++的交互
  17. 408如何复习?浙大学长经验贴
  18. ZUCC_操作系统实验_Lab7进程通信---共享内存
  19. python新式类和经典类区别_Python中新式类和经典类的区别,钻石继承
  20. 以患者到医院就诊为背景,使用列表对象(ArrayList)和泛型机制实现就诊排队叫号系统

热门文章

  1. import java.test_java 画矩形package testFrame;import java.awt.Color;import java.
  2. n−皇后问题 (dfs)
  3. 破解iOS微信骰子和猜拳
  4. css图片滑动切换图_html图片轮播原理
  5. 【Python】实现isPrime()函数判断质数+异常处理
  6. 安卓QQ聊天记录导出、备份完全攻略
  7. pythonlbp纹理提取_特征提取算法(1)——纹理特征提取算法LBP
  8. 如何提高自制力?自制力差怎么办?
  9. Phase seperation 的无序结构域(IDRs)怎么预测?
  10. Asp.Net Core 系列教程 (三)身份认证