当前位置: 首页 > news >正文

说下对mysql MVCC的理解

我们知道,mysql innodb存储引擎关于事务的默认隔离级别是RR,亦即可重复读。

而MVCC则是RR能够实现可重复读的保证,同时也是RC实现读已提交的保证。

我们先看下MVCC的原英与翻译:multi  version  concurrent  control   多版本并发控制。

我就这个翻译来说道MVCC。它这里的多版本是啥意思?

首先,实现MVCC离不开:undoLog与readView。

undoLog我们应该都知道,存放的是事务更新日志记录,以备事务失败的回滚。

然后我们要知道,mysql每行记录,都有隐藏的db_trx_id(事务id),db_roll_point(回滚到undoLog的id),如果该行没主键则还会有个隐藏主键字段。

readView作为读视图,存放查询那一刻读视图快照,与行记录的trx_id做比较,小于readView的trx_id则记录可见,大于等于readView的trx_id的除了与readView的creator_trx_id一致的可见外,其余不可见。

依赖这两点,可以做到在并发读写事务的时候,既保证数据的安全性,又保证一定的性能。配合锁更可以保证可重复读的同时避免大部份幻读


文章转载自:
http://calcify.wanhuigw.com
http://breakdown.wanhuigw.com
http://ballistician.wanhuigw.com
http://bladework.wanhuigw.com
http://amie.wanhuigw.com
http://chongqing.wanhuigw.com
http://ade.wanhuigw.com
http://bayern.wanhuigw.com
http://bacon.wanhuigw.com
http://ceilinged.wanhuigw.com
http://astronomer.wanhuigw.com
http://afficionado.wanhuigw.com
http://chozrim.wanhuigw.com
http://bolster.wanhuigw.com
http://aeroelasticity.wanhuigw.com
http://chassepot.wanhuigw.com
http://affuse.wanhuigw.com
http://acrodromous.wanhuigw.com
http://cecf.wanhuigw.com
http://aspirer.wanhuigw.com
http://biogeochemistry.wanhuigw.com
http://aquafarm.wanhuigw.com
http://anonychia.wanhuigw.com
http://catastasis.wanhuigw.com
http://auxiliary.wanhuigw.com
http://bullionist.wanhuigw.com
http://carrefour.wanhuigw.com
http://anabaptist.wanhuigw.com
http://chromous.wanhuigw.com
http://apical.wanhuigw.com
http://www.dtcms.com/a/280886.html

相关文章:

  • 深入理解设计模式之外观模式:简化复杂系统的艺术
  • 经典排序算法之希尔排序
  • RTL编程中常用的几种语言对比
  • c#泛型集合
  • Azure FXmsv2 系列与 Azure FXmdsv2 系列虚拟机正式发布
  • Docker 部署emberstack/sftp 镜像
  • JavaScript进阶篇——第四章 解构赋值(完全版)
  • Scrapy扩展深度解析:构建可定制化爬虫生态系统的核心技术
  • 500+技术栈覆盖:Web测试平台TestComplete的对象识别技术解析
  • C#,List<T> 与 Vector<T>
  • 构建强大的物联网架构所需了解的一切
  • Linux下编译海思WS63 SDK全攻略
  • 数据结构:线性表
  • 服务器端安全检测与防御技术概述
  • BGP机房和传统机房之间都有哪些区别?
  • Sentinel热点参数限流完整示例实现
  • 力扣面试150题--排序链表
  • WebApplicationType.REACTIVE 的webSocket 多实例问题处理
  • MySQL数据库----约束
  • C# 构建动态查询表达式(含查询、排序、分页)
  • C语言基础第6天:分支循环
  • Ubuntu24 辅助系统-屏幕键盘的back按键在网页文本框删除不正常的问题解决方法
  • CentOS7 Docker安装MySQL全过程,包括配置远程连接账户
  • fastApi连接数据库
  • 如何正确分配及设置香港站群服务器IP?
  • 深入解析 Java AQS (AbstractQueuedSynchronizer) 的实现原理
  • LeetCode 3136.有效单词:遍历模拟
  • [实战] 基8 FFT/IFFT算法原理与实现(完整C代码)
  • 【每天一个知识点】多模态信息(Multimodal Information)
  • 【知识扫盲】tokenizer.json中的vocab和merges是什么?