MySQL篇---第八篇

系列文章目录


文章目录

  • 系列文章目录
  • [一、说说什么是 MVCC?](#一、说说什么是 MVCC?)
  • [二、MVCC 可以为数据库解决什么问题?](#二、MVCC 可以为数据库解决什么问题?)
  • [三、说说 MVCC 的实现原理](#三、说说 MVCC 的实现原理)

一、说说什么是 MVCC?

多版本并发控制(MVCC=Multi-Version Concurrency Control),是一种用来解决读 - 写冲突的无

锁并发控制。也就是为事务分配单向增长的时间戳,为每个修改保存一个版本。版本与事务时间戳

关联,读操作只读该事务开始前的数据库的快照(复制了一份数据)。这样在读操作不用阻塞写操

作,写操作不用阻塞读操作的同时,避免了脏读和不可重复读。

二、MVCC 可以为数据库解决什么问题?

在并发读写数据库时,可以做到在读操作时不用阻塞写操作,写操作也不用阻塞读操作,提高了数

据库并发读写的性能。同时还可以解决脏读、幻读、不可重复读等事务隔离问题,但不能解决更新

丢失问题。

三、说说 MVCC 的实现原理

MVCC 的目的就是多版本并发控制,在数据库中的实现,就是为了解决读写冲突,它的实现原理主

要是依赖记录中的 3 个隐式字段、undo 日志、Read View 来实现的。

相关推荐
雾喔10 分钟前
redis简单命令
数据库·redis·缓存
IT邦德11 分钟前
Oracle 26ai 图数据库
数据库·oracle
代码探秘者12 分钟前
【大模型应用】一篇弄懂Skill
数据结构·数据库·python·算法·spring
014-code13 分钟前
如何使用 Redis实现一个简易消息队列?
数据库·redis·缓存·消息队列
talen_hx29616 分钟前
screw-core生成数据库表结构文档简单例子
数据库·笔记·学习
Leo.yuan16 分钟前
什么是主数据管理?主数据管理怎么做?
大数据·数据库
gaozhiyong081322 分钟前
深度架构拆解:Gemini 3.1 Pro的核心技术突破与国内镜像站实测指南
java·开发语言·jvm·mysql
运维行者_26 分钟前
Applications Manager 中的 Azure 监控
运维·服务器·网络·数据库·后端·python·flask
lierenvip27 分钟前
mysql的主从配置
android·mysql·adb
野生技术架构师28 分钟前
制造业数据库选型实战:为什么我们从 MySQL 迁移到 TiDB
数据库·mysql·tidb