保姆级教程,终于搞懂脏读、幻读和不可重复读了!(7)

简介: 保姆级教程,终于搞懂脏读、幻读和不可重复读了!(7)

不可重复读演示步骤3


切换到窗口 2 中再次查询用户列表,执行结果如下:


微信图片_20220121002516.jpg


从上述结果可以看出,此时 Java 用户的余额已经变成 120 元了。在同一个事务中,先后查询的两次结果不一致就是不可重复读。


不可重复读和脏读的区别


脏读可以读到其他事务中未提交的数据,而不可重复读是读取到了其他事务已经提交的数据,但前后两次读取的结果不同。


幻读


幻读名如其文,它就像发生了某种幻觉一样,在一个事务中明明没有查到主键为 X 的数据,但主键为 X 的数据就是插入不进去,就像某种幻觉一样。幻读演示的执行流程如下:


image.png


具体执行结果如下步骤所示。


幻读演示步骤1


设置窗口 2 为可重复读,可重复有幻读的问题,查询编号为 3 的用户,具体执行 SQL 如下:


set session transaction isolation level repeatable read;
start transaction;
select * from userinfo where id=3;


以上 SQL 执行结果如下图所示:


微信图片_20220121002619.jpg


从上述结果可以看出,查询的结果中 id=3 的数据为空。

相关文章
|
3月前
|
SQL 关系型数据库 MySQL
分布式事物【 认识事物、脏写、脏读、不可重复读、幻读】(一)-全面详解(学习总结---从入门到深化)
分布式事物【 认识事物、脏写、脏读、不可重复读、幻读】(一)-全面详解(学习总结---从入门到深化)
40 1
分布式事物【 认识事物、脏写、脏读、不可重复读、幻读】(一)-全面详解(学习总结---从入门到深化)
|
5月前
|
数据库
数据库系列课程(14)-脏读、不可重复读、幻读
数据库系列课程(14)-脏读、不可重复读、幻读
25 0
|
8月前
|
Oracle 关系型数据库 MySQL
mysql数据库事务脏读、不可重复度、幻读详解
mysql数据库事务脏读、不可重复度、幻读详解
95 0
|
11月前
|
SQL 存储 NoSQL
「数据库架构」三分钟搞懂事务隔离级别和脏读
「数据库架构」三分钟搞懂事务隔离级别和脏读
|
11月前
图解脏读、幻读、不可重复读
图解脏读、幻读、不可重复读
54 0
|
SQL Oracle 关系型数据库
Mysql模拟事物的隔离级别【脏读、不可重复读、幻读】
Mysql模拟事物的隔离级别【脏读、不可重复读、幻读】
150 0
Mysql模拟事物的隔离级别【脏读、不可重复读、幻读】
|
Java 关系型数据库 MySQL
面试突击88:加入事务和嵌套事务有什么区别?
面试突击88:加入事务和嵌套事务有什么区别?
296 2
|
缓存 Java 数据库
先了解清楚 脏读、不可重复读、幻读,再谈事务隔离机制
先了解清楚 脏读、不可重复读、幻读,再谈事务隔离机制
132 0
先了解清楚 脏读、不可重复读、幻读,再谈事务隔离机制
|
关系型数据库 数据库 索引
幻读是啥,会有什么问题?如何解决?
大家好,我是Leo,上篇文章大概介绍了为什么查询一条记录性能慢的原因。今天我们介绍一下幻读的一些相关知识,以及幻读相关的间隙锁,间隙锁死锁的解决方案。
幻读是啥,会有什么问题?如何解决?
|
SQL 关系型数据库 MySQL
幻读和不可重复读的区别
本文只讨论 MySQL InnoDB 的情况。
109 0
幻读和不可重复读的区别