MySQL篇---第八篇

系列文章目录


文章目录

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

一、说说什么是 MVCC?

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

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

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

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

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

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

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

丢失问题。

三、说说 MVCC 的实现原理

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

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

相关推荐
DFT计算杂谈1 天前
ABINIT能带计算数据处理脚本
数据库·人工智能
BioRunYiXue1 天前
双荧光素酶报告基因实验
java·运维·服务器·数据库·人工智能·数据挖掘·eclipse
数据皮皮侠1 天前
政府创新采购数据库(2016-2024)
大数据·数据库·人工智能·制造·微信开放平台
kkkkkkkkl241 天前
MySQL 深分页查询优化实践与经验总结
数据库·mysql
数据知道1 天前
MySQL业务数据量增长到单表成为瓶颈时,该如何做?
数据库·mysql·mysql优化
soft20015251 天前
深入理解 MySQL Buffer Pool 核心机制:初始化、free 链表与数据页流转
数据库·mysql·链表
晓13131 天前
SQL篇——【MySQL篇:运维】高可用架构搭建(主从、读写分离、分库分表)
android·数据库·mysql
JavaOpsPro1 天前
上云后mysql默认wait_timeout导致应用层很多连接不可用
数据库·mysql
GEM的左耳返1 天前
互联网大厂Java求职面试题解析与实战指导:涵盖核心技术栈与业务场景
java·数据库·spring boot·安全·微服务·消息队列·面试题
越甲八千1 天前
ASGI和AWSIG区别
数据库·python·sqlite