美文网首页
到底什么是幻读

到底什么是幻读

作者: _Henry_ | 来源:发表于2020-05-27 16:41 被阅读0次

现在有 author表:


author表

先插入3条数据:


插入后数据展示
开启两个事务 A 、B

事务A


事务A操作

事务B


事务B操作

然后继续执行事务A 还是只能看到3条数据


事务A操作

然后执行update操作:发现修改了4条数据 当前B事务为提交之前 会被锁住 B事务执行commit操作后 update操作会有以下修改


执行update结果

这就是幻读,读的时候发现是3条数据,而修改则能修改4条数据

引申:
1.数据库默认隔离级别:可重复读
2.MVCC多版本并发控制,当前读、快照读

一般的 select * from .... where ... 语句都是快照读

什么情况下使用的是当前读:(当前读,会在搜索的时候加锁)
select * from .... where ... for update select * from .... where ... lock in share mode update .... set .. where ... delete from. . where ..

相关文章

  • 到底什么是幻读

    现在有 author表: 先插入3条数据: 开启两个事务 A 、B 事务A 事务B 然后继续执行事务A 还是只能看...

  • MySQL - 幻读 、间隙锁

    select for update 加写锁。事物提交才释放 什么是幻读? 产生幻读的场景: 幻读指的是一个事务在前...

  • 丁奇-MySQL实战读书笔记20

    幻读是什么,幻读有什么问题? 什么是幻读?幻读指的是一个事务在前后两次查询同一个范围的时候,后一次查询看到了前一次...

  • 美团三面:一直追问我, MySQL 幻读被彻底解决了吗?

    什么是幻读? 首先来看看 MySQL 文档是怎么定义幻读(Phantom Read)的: The so-calle...

  • 幻夜|跟着东野圭吾来一次幻夜的旅行

    读《幻夜》之前,我不明白幻夜到底是什么意思。读完它之后,幻夜大概说的就是一个虚幻的黑夜。不管是对新海美冬还是对雅也...

  • 什么是Mysql幻读

    笔记[https://www.bilibili.com/video/BV1964y1s7tD?spm_id_fro...

  • mysql-幻读,间隙锁

    1.什么是幻读幻读,并不是说两次读取获取的结果集不同,幻读侧重的方面是某一次的 select 操作得到的结果所表征...

  • InnoDB的MVCC如何解决幻读

    InnoDB默认的隔离级别是RR(可重复读),可以解决脏读和不可重复读,但是不能解决幻读问题。 什么是幻读? 事务...

  • 系统原理-MVCC

    在SQL标准中,RR是无法避免幻读问题的,但是InnoDB实现的RR避免了幻读问题。RR解决脏读、不可重复读、幻读...

  • 说说什么是幻读,什么是MVCC?

    要说幻读,⾸先要了解MVCC,MVCC叫做多版本并发控制,实际上就是保存了数据在某个时间节点的快照。 我们每⾏数实...

网友评论

      本文标题:到底什么是幻读

      本文链接:https://www.haomeiwen.com/subject/qczwahtx.html