MySQL篇---第八篇

系列文章目录


文章目录

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

一、说说什么是 MVCC?

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

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

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

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

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

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

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

丢失问题。

三、说说 MVCC 的实现原理

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

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

相关推荐
小羊没烦恼!14 分钟前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp
注塑机数据采集联网18 分钟前
如何解决注塑机数据采集联网对接MES系统数据WiFi传输数据不稳问题
大数据·数据库·物联网·数据挖掘·数据分析
黄俊懿21 分钟前
【架构师从入门到进阶】第六章:服务集群优化——第八节:线程数公式
java·服务器·数据库·分布式·性能优化·架构·系统架构
geovindu39 分钟前
sql: JSON and XML Data Handling in SQL using mysql 9.0
数据库·sql·mysql·数据库开发
hackchen1 小时前
LangChain 学习第 3 课 - 输出解析器(Output Parser)
数据库·学习·langchain
Mortalbreeze1 小时前
MySQL 基础篇(九):从 B+ 树到索引优化,全面理解 MySQL 索引
数据库·mysql
泡海椒1 小时前
JQuick-SQL SELECT 投影:字段、别名与表达式查询
数据库·sql
猫咪很可爱1 小时前
mysqldump 失败常见场景
数据库·sql·mysql
大明二代1 小时前
从零构建 Mastra RAG MVP:DeepSeek、SiliconFlow 与 PostgreSQL/pgvector 实战
javascript·数据库·人工智能
LMT流氓兔1 小时前
第四单元——第17课:让回答边生成、边显示
服务器·数据库·人工智能·python·oracle·langchain