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
相关推荐
runningshark25 分钟前
DeepSeek V4 Flash 0423 实效评测与能力全景
大数据·数据库
憧憬成为原神糕手1 小时前
Playwright、Selenium、DrissionPage 与 JSON 接口怎么选?
数据库·selenium·json
long3161 小时前
04-MySQL 扩展学习资料
数据库·mysql·adb
Zldaisy3d2 小时前
连续纤维增材制造的机翼已飞上天,复材打印在低空飞行器上还需翻过几道坎?
java·前端·数据库
倔强的石头_2 小时前
连接池参数治理-HikariCP怎么配才稳
数据库
wWYy.2 小时前
Mysql:二级索引
数据库·mysql
jnrjian2 小时前
PG 导出表为excel iconv 乱码
数据库·postgresql
DLYSB_3 小时前
数据库连接池爆满导致全线宕机:我用 Go 写了个“现场声光报警器”,比钉钉快了 10 倍
数据库·golang·钉钉·报警灯
ClickHouseDB3 小时前
Postgres正则表达式性能优化:pg_re2扩展的引入与应用
数据库
艾莉丝努力练剑3 小时前
【MYSQL】MYSQL学习的一大重点:视图
android·服务器·数据库·学习·mysql·面试·视图