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

文章目录

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

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

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

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

2、总结

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

  1. 原子性:undo log
  2. 一致性:undo log + redo log
  3. 隔离性:锁+MVCC
  4. 持久性:redo log
相关推荐
2301_322414280410 小时前
基于SpringBoot+Vue的休闲零食超市管理系统的设计与实现59004-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·vue.js·spring boot·redis·mysql·决策树·推荐算法
catoop13 小时前
API Key 设计与安全生成方案:结构拆解、数据库设计与 Java 实现
java·数据库·安全
Web极客码13 小时前
我用 Claude 分析 Redis 哨兵日志,实现跨机房数据不一致自动对齐
数据库·redis·php
库库的数据库笔记13 小时前
国产信创数据库的MySQL兼容性深度对比解析
大数据·数据库·mysql·oceanbase·政务
姚远Oracle ACE14 小时前
为什么无法连接到 PostgreSQL?
数据库·postgresql
ss27314 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 22 PostgreSQL实例与集群
数据库·笔记·postgresql
ss27314 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 21 PostgreSQL进程与内存架构介绍
数据库·笔记·postgresql
Henry-SAP15 小时前
SAP PP模块全景概览
数据库
喜欢吃豆16 小时前
Better Auth 深度解析:从用户认证到企业级身份基础设施
数据库·架构·权限·多租户