MVCC------Mysql并发事务控制的工具

这篇具有很好参考价值的文章主要介绍了MVCC------Mysql并发事务控制的工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.MVCC是什么

MVCC 是 Multi-Version Concurrency Control(多版本并发控制)的缩写,是数据库系统中常用的一种并发控制方法。在MVCC 中,数据库系统可以同时维护多个版本的数据,每个事务在读取数据时会看到一个一致性的快照,从而实现并发访问而不会出现数据不一致的情况。这种机制能够提高数据库系统的并发性能和并发控制能力。

二.原理

1.隐藏的默认字段

MVCC------Mysql并发事务控制的工具,八股,面试,mysql,数据库

2.Undo log

MVCC------Mysql并发事务控制的工具,八股,面试,mysql,数据库

3.Undo log版本链

MVCC------Mysql并发事务控制的工具,八股,面试,mysql,数据库

4. ReadView

MVCC------Mysql并发事务控制的工具,八股,面试,mysql,数据库
MVCC------Mysql并发事务控制的工具,八股,面试,mysql,数据库
MVCC------Mysql并发事务控制的工具,八股,面试,mysql,数据库
MVCC------Mysql并发事务控制的工具,八股,面试,mysql,数据库

三.回答

其中mvcc的意思是多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突,它的底层实现主要是分为了三个部分,第一个是隐藏字段,第二个是undo log日志,第三个是readView读视图

隐藏字段是指:在mysql中给每个表都设置了隐藏字段,有一个是trx_id(事务id),记录每一次操作的事务id,是自增的;另一个字段是roll_pointer(回滚指针),指向上一个版本的事务版本记录地址

undo log主要的作用是记录回滚日志,存储老版本数据,在内部会形成一个版本链,在多个事务并行操作某一行记录,记录不同事务修改数据的版本,通过roll_pointer指针形成一个链表

readView解决的是一个事务查询选择版本的问题,在内部定义了一些匹配规则和当前的一些事务id判断该访问那个版本的数据,不同的隔离级别快照读是不一样的,最终的访问的结果不一样。如果是rc隔离级别,每一次执行快照读时生成ReadView,如果是rr隔离级别仅在事务中第一次执行快照读时生成ReadView,后续复用文章来源地址https://www.toymoban.com/news/detail-839812.html

到了这里,关于MVCC------Mysql并发事务控制的工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL多版本并发控制mvcc原理浅析

    1.mvcc简介 1.1mvcc定义 mvcc(Multi Version Concurrency Control),多版本并发控制,是一种数据库的并发控制机制。它用于管理事务并发执行时对数据的访问和修改,保证在多个事务同时对数据库进行读写操作,不会出现数据不一致或丢失的情况 1.2mvcc解决的问题 当多个事务同时访问数据

    2024年04月25日
    浏览(35)
  • 【MySQL高级篇笔记-多版本并发控制MVCC(下) 】

    此笔记为尚硅谷MySQL高级篇部分内容 目录 一、什么是MVCC 二、快照读与当前读 1、快照读  2、当前读 三、复习 1、再谈隔离级别 2、隐藏字段、Undo Log版本链 四、MVCC实现原理之ReadView  1、什么是ReadView  2、设计思路 3、ReadView的规则 4、MVCC整体操作流程 五、举例说明 1、READ

    2024年02月08日
    浏览(60)
  • 深入探索MySQL InnoDB引擎中的多版本并发控制(MVCC)原理

    引言: 在关系型数据库领域,MySQL InnoDB引擎因其支持事务处理和并发控制的强大功能而备受青睐,其中尤为关键的一项技术就是多版本并发控制(Multi-Version Concurrency Control, MVCC)。MVCC是实现高并发环境下事务隔离性的重要手段,既能有效缓解锁竞争,又能保障数据的一致性

    2024年03月11日
    浏览(47)
  • MYSQL的多版本并发控制MVCC(Multi-Version Concurrency Control)

    MVCC 是一种用于数据库管理系统的并发控制技术,允许多个事务同时访问数据库,而不会导致读写冲突。也就是说在读写的时候,线程不用去争抢读写锁。因为加锁的过程比较耗性能。 当然很多时候还是必须的,不能避免,比如说,去ATM机取钱的时候,同时又在手机APP上进行

    2024年02月07日
    浏览(39)
  • Mysql--技术文档--MVCC(Multi-Version Concurrency Control | 多版本并发控制)

            MVCC(Multi-Version Concurrency Control)是一种并发控制机制,用于解决并发访问数据库时的数据一致性和隔离性问题。MVCC允许多个事务同时读取数据库的同一数据,而不会相互干扰或导致冲突。         在传统的并发控制机制中,如锁定机制,事务会对读取和写入

    2024年02月11日
    浏览(41)
  • MySQL - 并发控制与事务的隔离级别【头歌】

    目录 相关知识 并发操作可能产生的数据不一致性 MySQL的事务隔离级别 示例 第一关:并发控制与事务的隔离级别 编程要求 测试说明 代码如下 第二关:读脏 任务描述 相关知识 读脏 读脏产生的原因 编程要求 代码如下: 第三关:不可重复读 任务描述 相关知识 不可重复读

    2024年02月09日
    浏览(50)
  • mysql事务日志和MVCC

    1.mysql的redolog日志和undolog日志的作用? A redolog主要作用是保证 提交 commit 的数据的成功 将修改的数据在正式 提交 commit 前进行记录 记录的方式,将日志从内存刷新给文件缓存,文件缓存什么时候落盘由操作系统自行决定(2) redolog日志的主要作用保证commit行为的安全性 B undo

    2024年01月22日
    浏览(55)
  • Mysql进阶-InnoDB引擎事务原理及MVCC

    事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系 统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。  事务的四大特性: 原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败

    2024年02月04日
    浏览(36)
  • 从 MySQL 的事务 到 锁机制 再到 MVCC

    Java基础合集 数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 其他系列文章导航 文章目录 前言 一、事务 1.1 含义 1.2 ACID 二、锁机制 2.1 锁分类 2.2 隔离级别 三、MVCC 3.1 介绍 3.2 隔离级别 3.3 原理 四、总结 转眼又一年~~2023马上就要到尾声了,在最后的几天中

    2024年02月03日
    浏览(34)
  • 【Mysql】MVCC版本机制的多并发

    🌇个人主页:平凡的小苏 📚学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风翻盘 。 🛸 Mysql专栏 : Mysql内功修炼基地 家人们更新不易,你们的👍点赞👍和⭐关注⭐真的对我

    2024年02月11日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包