【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条,仿佛出现幻读

相关推荐
Facechat5 分钟前
鸿蒙开发入坑篇(九):本地数据库 (RDB) 深度解析
数据库·华为·harmonyos
Dxy12393102166 分钟前
MySQL删除表语句详解
数据库·mysql
编程彩机11 分钟前
互联网大厂Java面试:从分布式事务到微服务优化的技术场景解读
java·spring boot·redis·微服务·面试·kafka·分布式事务
bbq粉刷匠12 分钟前
Java-排序2
java·数据结构·排序算法
编程彩机14 分钟前
互联网大厂Java面试:从Spring WebFlux到分布式事务的技术场景解析
java·微服务·面试·分布式事务·spring webflux
uoKent16 分钟前
MySQL常见命令梳理大纲
数据库·mysql
Jm_洋洋20 分钟前
【C++进阶】虚函数、虚表与虚指针:多态底层机制剖析
java·开发语言·c++
予枫的编程笔记21 分钟前
【MySQL筑基篇】从排名统计到非结构化存储:MySQL窗口函数与JSON实战教程
mysql·数据处理·窗口函数·后端开发·json数据类型·数据库进阶·mysql高级特性
小马爱打代码22 分钟前
MyBatis:缓存体系设计与避坑大全
java·缓存·mybatis
时艰.28 分钟前
Java 并发编程:Callable、Future 与 CompletableFuture
java·网络