MySQL篇---第八篇

系列文章目录


文章目录

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

一、说说什么是 MVCC?

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

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

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

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

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

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

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

丢失问题。

三、说说 MVCC 的实现原理

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

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

相关推荐
迷失的walker4 分钟前
【Qt C++ QSerialPort】QSerialPort fQSerialPortInfo::availablePorts() 执行报错问题解决方案
数据库·c++·qt
程序新视界23 分钟前
什么是OLTP ,MySQL是如何支持OLTP的?
数据库·后端·mysql
pen-ai43 分钟前
【数据工程】14. Stream Data Processing
数据库·oracle
倔强的石头1061 小时前
【金仓数据库】ksql 指南(三) —— 创建与管理表空间和模式
数据库·金仓数据库
金仓拾光集1 小时前
__金仓数据库平替MongoDB:银行存款系统国产化实践__
数据库·mongodb
流烟默1 小时前
MongoDB入门指南基础篇
数据库·mongodb
金仓拾光集1 小时前
_金仓数据库平替MongoDB实战:制造业生产进度管理的国产化升级之路
数据库·mongodb
熊文豪2 小时前
时序数据库选型指南:从大数据视角看高效存储与分析
大数据·数据库·时序数据库
Lisonseekpan2 小时前
为什么要避免使用 `SELECT *`?
java·数据库·后端·sql·mysql·oracle
Wilson Chen2 小时前
深入理解 MySQL 事务与锁机制:从 ACID 到 Next-Key Lock 的实证之旅
java·数据库·mysql