这个条件成立,说明数据已经提交 。
- 在Read Committed隔离级别下
在事务第一次执行快照读时都生成一个Read view
- 在Repeatable read隔离级别下
在事务第一次执行快照读时生成,后续复用这个Read view
第一个快照读,读取情况
文章插图
这个快照读,根据规则,读取的是0x00002这个地址的数据,对应着事务2修改后的数据内容 。
第二个快照读,读取情况
文章插图
这个快照读,根据规则读取到的是,0x00003地址的数据内容,就是事务3修改后的数据 。
在RR隔离级别下,版本链访问原理分析在RR隔离级别下,只有事务在第一次执行快照读的时候生成ReadView,后续复用这个ReadView
文章插图
具体的和RC规则一致,不重复讲解 。
总结隐藏字段+Undo log版本链+ReadView组成MVCC
MVCC+锁构成事务的隔离机制
事务的一致性由Redo log和undo log共同保证
经验总结扩展阅读
- StampedLock:一个并发编程中非常重要的票据锁
- Longchamp龙骧饺子包
- <三>从编译器角度理解C++代码编译和链接原理
- <一>关于进程虚拟地址空间区域内存划分和布局
- GitLab私有化部署 - CI/CD - 持续集成/交付/部署 - 源代码托管 & 自动化部署
- 🔥支持 Java 19 的轻量级应用开发框架,Solon v1.10.4 发布
- Bert不完全手册9. 长文本建模 BigBird & Longformer & Reformer & Performer
- InnoDB关于事务、锁、MVCC专题
- XXI Open Cup, Grand Prix of Belarus 2020-2021 Winter Petrozavodsk Camp, Belarusian SU Contest 题解
- Petrozavodsk Winter Training Camp 2016: Moscow SU Trinity Contest