【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 分钟前
JavaEE初阶---线程安全问题
java·java-ee
爱笑的眼睛118 分钟前
GraphQL:从数据查询到应用架构的范式演进
java·人工智能·python·ai
Seven9729 分钟前
剑指offer-52、正则表达式匹配
java
Elastic 中国社区官方博客38 分钟前
Elasticsearch:在分析过程中对数字进行标准化
大数据·数据库·elasticsearch·搜索引擎·全文检索
聪明努力的积极向上39 分钟前
【MYSQL】字符串拼接和参数化sql语句区别
数据库·sql·mysql
代码or搬砖1 小时前
RBAC(权限认证)小例子
java·数据库·spring boot
神仙别闹1 小时前
基于QT(C++)实现学本科教务系统(URP系统)
数据库·c++·qt
青蛙大侠公主1 小时前
Thread及其相关类
java·开发语言
Coder_Boy_1 小时前
DDD从0到企业级:迭代式学习 (共17章)之 四
java·人工智能·驱动开发·学习
2301_768350231 小时前
MySQL为什么选择InnoDB作为存储引擎
java·数据库·mysql