MySQL高级-MVCC-原理分析(RR级别)

文章目录

1、RR隔离级别下,仅在事务中第一次执行快照读时生成ReadView,后续复用该ReadView

而RR 是可重复读,在一个事务中,执行两次相同的select语句,查询到的结果是一样的。

  • 那MySQL是如何做到可重复读的呢? 我们简单分析一下就知道了

我们看到,在RR隔离级别下,只是在事务中第一次快照读时生成ReadView,后续都是复用该ReadView,那么既然ReadView都一样, ReadView的版本链匹配规则也一样, 那么最终快照读返回的结果也是一样的。

2、总结

所以呢,MVCC的实现原理就是通过 InnoDB表的隐藏字段UndoLog 版本链ReadView来实现的。
MVCC + 锁,则实现了事务的隔离性
一致性 则是由 redologundolog 保证。

  1. 原子性:undo log
  2. 一致性:undo log + redo log
  3. 隔离性:锁+MVCC
  4. 持久性:redo log
相关推荐
p***h6437 小时前
从无到有:MongoDB事务的演进之路
数据库·mongodb
E***U9457 小时前
MySQL自然语言处理应用
数据库·mysql
计算机毕业设计小途7 小时前
计算机毕业设计推荐:基于SpringBoot的水产养殖管理系统【Java+spring boot+MySQL、Java项目、Java毕设、Java项目定制定做】
java·spring boot·mysql
洛_尘8 小时前
MySQL 2:库的操作
数据库·mysql
码农101号9 小时前
Linux - 达梦数据库的安装
数据库
l1t9 小时前
使用DuckDB SQL求解Advent of Code 2024第9题 磁盘碎片整理
数据库·sql·算法·duckdb·advent of code
光之梦9 小时前
《openGauss全密态与防篡改账本数据库:云上数据安全与可信的新范式》
mysql
Z***u6599 小时前
MySQL物联网开发
数据库·mysql
Wang's Blog9 小时前
MongoDB小课堂: 容器化部署与操作综合指南
数据库·mongodb
IT小哥哥呀9 小时前
从零到NoSQL:一个动手的MongoDB教程(无需安装!)
数据库·mongodb·nosql·教程·初学者