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

相关推荐
小羊没烦恼!5 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里5 天前
java中的继承和多态的区别
java
小羊没烦恼!5 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕5 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码5 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖5 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时5 天前
01-06-A-JVM排查实战详解
java·jvm
小白男神5 天前
MySQL进阶学习四(存储过程、游标、触发器)
mysql
这个DBA有点耶5 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
vipxieliang5 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot