删除数据库记录是一个非常常见的需求,当数据失去价值时,我们便会删除它,但是如果操作不当,往往就会把一些有价值的数据误删掉,造成重要数据的丢失,合理采用删除方式才能更好地利用数据资源,下面介绍几种常用的删除方式。删除方式物理删除物理删除就是直接从数据库中删除一条或多条记录,将数据从磁盘上擦除,可以使用DELETE FROMSQL语句实现,这种方式产生的后果就是记录永久性删除,无法找回,一般适用于小型
记一次工作中数据库表到底使用物理删除还是逻辑删除 那么平时业务中的删除是怎么做的呢?答案是逻辑删除逻辑删除:又名软删除,与物理删除、硬删除相对应,含义是并没有实际的删除数据,只是将数据标记已删除(例如增加is_deleted字段)。为什么要用逻辑删除? 物理删除很好理解,就是真的把数据给删了。以MySQL为例,假如数据删了,应该怎么恢复呢?主要方式有两种。「利用 binlog 日志」binlo
目录前言逻辑删除使用Mybatis-Plus逻辑删除它做了什么注意写在后面的一些话 前言一般情况下,我们要删除一条数据,直接使用 delete 即可,就像这样:delete from user where id = 1,这样做的好处是:符合我们的理解,删除就是直接删掉嘛。节省数据库空间,某些情况下数据量较大,且新增和删除比较频繁时,delete可以帮我们回收很多的空间。但我今天想讲的是逻辑删除
# 实现 MySQL 逻辑删除 ## 1. 概述 MySQL 逻辑删除是一种常用的数据库设计模式,用于在删除数据时保留数据记录,而不是直接从数据库中删除逻辑删除可以有效地保留数据完整性和一致性,同时又能避免物理删除引起的数据丢失问题。在本文中,我将介绍如何实现 MySQL 逻辑删除,并提供详细的步骤和代码示例。 ## 2. 实现步骤 下面是实现 MySQL 逻辑删除的步骤,可以以表格形式
原创 2023-07-17 10:04:17
611阅读
在使用电脑的时候,除了鼠标之外,就是键盘最常用了。而在我们的日常操作中,为了操作更加方便,就有了快捷键。快捷键又称热键,指可以通过某些特定的按键和按键顺序及其组合来完成一项操作,多和Ctrl、Shift、Alt键等组合连用。而说到键盘快捷键,比如说删除的快捷键是什么,你知道吗?又或者说不同情况下的删除快捷键有哪些,你知道吗?其实了解删除快捷键的知识,对于我们的日常操作十分有用。所以大白菜整理了删除
在业务场景要求高的数据库中,对于单条删除和更新操作,在 delete 和 update 后面加 limit 1 绝对是个好习惯。比如,在删除执行中,第一条就命中了删除行,如果 SQL 中有 limit 1;这时就 return 了,否则还会执行完全表扫描才 return。效率不言而喻。那么,在日常执行 delete 时,我们是否需要养成加 limit 的习惯呢?是不是一个好习惯呢?在日常的 SQL
最近没项目了,看了下mybatisplus官网,学到了很多,但是官网没有详细介绍,故此记录下来。逻辑删除 逻辑删除是指,删除数据库记录的时候,不会真正删除掉记录,而是通过标识来标记记录是否删除。好处是避免误删操作。mybatis-plus也提供了这个功能。在实体上添加@TableLogic。@TableLogic private Integer isDelete; 之后我们可以通过Base
MySQL 数据库中,如果你删除了某个表中的一条数据,它后面的所有数据的 ID 都需要减 1。这是因为在 MySQL 中,每当你往某个表中插入一条新数据时,数据库会为该数据分配一个自增 ID,而这个自增 ID 是连续递增的,也就是说后面的所有数据都会比前面的数据 ID 大 1。然而,在实际操作过程中,不建议修改已经生成的主键,因为这可能会对其他表或程序造成影响。所以,如果你要删除某个表中的某一
数据库逻辑删除定义逻辑删除是指在删除数据库的某条记录时,并不是真正的将该条记录删除,而是通过某个字段来标识其状态为“删除”,在接下来的查询等操作时,根据此字段来过滤调被删除的记录。java中常用的orm框架有mybatis和hibernate,下面说下两种框架在使用中简单的逻辑删除操作。mybatis-plusSpringBoot 配置方式:application.yml 加入配置(如果你的默认值
参考资料:《数据库查询优化器的艺术》《effective mysql 之SQL语句优化》除了物化视图、索引以及执行计划外,还有一些其他方法优化SQL。例如:1.减少SQL语句删除内容重复的SQL语句;删除重复执行的SQL语句;删除不必要的SQL语句;缓存SQL语句的返回结果;2.简化SQL语句思考以下问题:查询中所有的列都是必须的吗?表的连接操作能省去么?在给定的函数中,连接或where条件限制对
1. 物理删除逻辑删除1. 物理删除是指用delete 命令真正从数据库里删除。2. 逻辑删除是指使用一个字段来标识是否被标记删除,并不是真正从数据库把数据删除掉,否则恢复很难。例如 增加一个字段 isDelete 为0的时候表示存在没有删除,为1的时候表示删除了,不能够被查出来。然后查询的时候需要带上 条件 where isDelete = 0; 否则查不到结果。习题:模拟逻辑删除加深理解2.
数据库结构优化目的减少数据冗余尽量避免数据维护中出现更新,插入和删除异常设计步骤需求分析:全面了解产品设计的存储需求,数据处理需求,数据的安全性和完整性逻辑设计:设计数据的逻辑存储结构,数据实体之间的逻辑关系,解决数据冗余和数据维护异常物理设计:根据所使用的数据库特点进行表结构设计逻辑设计什么是反范式化设计为了性能和读取效率的考虑而适当的对数据库设计范式的要求进行违反,而允许存在少量的数据冗余(用
文章目录MySQL增删改查语法插入删除delete、truncate、drop区别?修改查询sum 和 count 的区别? MySQL增删改查语法插入例:在student表中插入数据所有的属性都必须包含insert [into] 表名 values (值1,值2,值3,值4);(into可以省略) 批量插入:可以直接插入指定属性的值 insert into 表名 (属性名1,属性名2…)val
1 前言本文介绍基于mybatis-plus( 版本:3.3.1 ) 的逻辑删处理办法,同时考虑到对关系数据库唯一索引的兼容。许多公司都要求保留历史数据不能真的彻底删掉,像我所待过的公司,就要求使用逻辑删。逻辑删指的类似添加 is_deleted 字段,通过 n/y 来标识是否被删除逻辑删的出发点是好的,但如果被删除的数据还保留在关系数据库原表时,事情就开始变复杂了。关系数据库中许多表都会添加唯
# MySQL逻辑删除配置 ## 概述 在数据库中,逻辑删除是一种常用的数据处理方式,它通过修改数据的状态字段来表示该数据已被删除,而不是直接删除数据行。这种方式可以保留数据的完整性,并且方便进行数据恢复和审计。本文将介绍如何在MySQL中配置逻辑删除,并提供相应的代码示例。 ## MySQL逻辑删除配置步骤 以下是在MySQL中配置逻辑删除的步骤: 1. 创建一个新的字段来表示数据的状
原创 8月前
170阅读
# MySQL逻辑删除 在数据库中,删除数据是一种常见的操作。在很多情况下,我们需要删除一些数据记录,但又不希望真正将这些数据从数据库中永久删除,而是只是做一个标记来表示这些数据已经被删除。这时候,逻辑删除就派上了用场。 逻辑删除是指在数据库中使用一个字段来标识数据是否被删除,而不是真正地将数据从数据库中删除。这样做的好处是可以保留被删除数据的历史记录,便于日后查询和恢复。 ## 为什么使
原创 6月前
42阅读
# 如何在 MySQL 中实现逻辑删除字段 逻辑删除是一种常见的删除方式,它并不实际上从数据库中删除记录,而是通过某种标识来表示记录已被删除。通过这种方式,我们不仅可以保留历史数据,还能避免因为物理删除而造成的数据丢失。在本文中,我们将详细介绍如何在 MySQL 中实现逻辑删除字段的流程。 ## 流程概述 下面是实现逻辑删除的基本步骤: | 步骤 | 描述
原创 1月前
22阅读
MySQL 物理删除逻辑删除物理删除概念1、就是用DELETE、TRUNCATE、DROP语句删除数据 2、物理删除是把数据从硬盘中删除,释放存储空间,缩小表体积,对性能提升有帮助代价1、物理删除是真的删除,数据恢复难度大 2、物理删除会造成主键不连续,导致分页查询数据慢应用场景1、核心业务表的数据不适合做物理删除,只做状态变更。 2、随着业务表数据增长,如何既不删除数据,有缩小表体积,可以把记
转载 2020-07-07 15:47:28
395阅读
Mybatis plus中的逻辑删除首先对比两个概念,物理删除逻辑删除。物理删除:物理删除就是将数据真正的从数据库中抹除了。(我用了抹除,而没用删除,大家可以自行想象一下这种对数据的删除程度)逻辑删除:本质上是一个修改操作,并不从数据库中将数据抹除。数据还存在于表中,但是查不出来。实际上在现实生活中,逻辑删除用的最多。比如你想删除一个数据,如果真的从物理层面删除它,那数据就真的没了。如果你想恢复
目录物理删除物理删除的代价什么数据不适合做物理删除逻辑删除总结 数据库删除数据经常面临删除操作,那如何确定是逻辑删除还是物理删除?这节我们简单介绍下 物理删除物理删除就是用DELETE、TRUNCATE、DROP语句删除数据;物理删除是把数据从硬盘中删除,可以释放存储空间,缩小数据表的体积,对性能有帮助;物理删除的代价由于物理删除是真删除,所以数据恢复起来难度很大; 恢复机制如下:物理删除会造成
  • 1
  • 2
  • 3
  • 4
  • 5