【MYSQL】事务隔离级别

脏读、幻读、不可重复读

脏读

一个事务正在对一条记录做修改,在这个事务完成并提交前,另一个事务也来读取同一条记录,读取了这些未提交的"脏"数据,并据此做进一步的处理,就会产生未提交的数据依赖关系。这种现象被形象的叫作'脏读'(Dirty Reads)。

例子:事务A修改了一条数据1状态为CLOSED,还没有提交,事务B来读数据1,获取到了数据1的状态为CLOSED

不可重复读

一个事务在读取某些数据后的某个时间,再次读取以前读过的数据,却发现其读出的数据已经发生了改变、或某些记录已经被删除了!这种现象就叫作" 不可重复读"(Non-Repeatable Reads)。

例子:事务A读取一条数据1状态为OPEN,事务B来修改数据1状态为CLOSED,事务A再次读取数据1状态变为CLOSED

幻读

一个事务按相同的查询条件重新读取以前检索过的数据,却发现其他事务插入了满足其查询条件的新数据,这种现象就称为"幻读"(Phantom Reads)。

例子:事务A根据时间20231212条件筛选查询数据有3条,事务B插入了时间为20231212的一条数据,事务A再次查询发现数据变为了4条,仿佛出现幻读

相关推荐
代码的余温1 小时前
Maven引入第三方JAR包实战指南
java·maven·jar
ZWZhangYu4 小时前
LangChain 构建向量数据库和检索器
数据库·langchain·easyui
pianmian14 小时前
类(JavaBean类)和对象
java
我叫小白菜5 小时前
【Java_EE】单例模式、阻塞队列、线程池、定时器
java·开发语言
feifeigo1235 小时前
升级到MySQL 8.4,MySQL启动报错:io_setup() failed with EAGAIN
数据库·mysql·adb
Albert Edison5 小时前
【最新版】IntelliJ IDEA 2025 创建 SpringBoot 项目
java·spring boot·intellij-idea
超级小忍6 小时前
JVM 中的垃圾回收算法及垃圾回收器详解
java·jvm
weixin_446122466 小时前
JAVA内存区域划分
java·开发语言·redis
火龙谷6 小时前
【nosql】有哪些非关系型数据库?
数据库·nosql
勤奋的小王同学~6 小时前
(javaEE初阶)计算机是如何组成的:CPU基本工作流程 CPU介绍 CPU执行指令的流程 寄存器 程序 进程 进程控制块 线程 线程的执行
java·java-ee