MySQL篇---第八篇

系列文章目录


文章目录

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

一、说说什么是 MVCC?

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

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

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

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

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

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

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

丢失问题。

三、说说 MVCC 的实现原理

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

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

相关推荐
222you1 分钟前
在云服务器上配置redis环境(OpenCloudOS)
数据库·redis·缓存
智能化咨询2 分钟前
(99页PPT)智慧景区一体化建设方案(附下载方式)
大数据·数据库
AI题库3 分钟前
PostgreSQL 18 从新手到大师:实战指南 - 1.2 关系型数据库基础
数据库·postgresql
IT教程资源D32 分钟前
[N_101]基于springboot,vue企业网盘系统
mysql·vue·前后端分离·springboot网盘
我可以将你更新哟35 分钟前
【爬虫】爬取斗罗大陆漫画,面向对象封装(存入数据库)
数据库·爬虫·python
忙里偷闲学python35 分钟前
mysql
linux·数据库·mysql·oracle
byzh_rc35 分钟前
[算法设计与分析-从入门到入土] 递归
数据库·人工智能·算法·机器学习·支持向量机
学Linux的语莫44 分钟前
Milvus向量数据库的基础连接操作
数据库·milvus
小智RE0-走在路上1 小时前
Python学习笔记(13) --Mysql,Python关联数据库
数据库·python·学习
x66ccff1 小时前
Claude Code 安装方法
android·java·数据库