前言

很多人在谈起mysql事务的时候都能很快的答出mysql的几种事务隔离级别,以及在各自隔离级别下产生的问题,但是一旦谈到为什么会产生这样的结果时会觉得难以回答,说到底,还是对底层的原理未做深入的探究,本篇将从较为底层的原理层面来聊聊关于mysql的mvcc原理,了解并掌握了mvcc原理,也就能真正回答这些问题了。

一、mysql 数据写入磁盘流程

在了解mvcc原理之前,先来看下面这种图,这是一张关于客户端发起一条update 数据的语句时,mysql 的innodb引擎所作的一些列操作过程(可按照前面的序列号);

从这张图,我们提取如下关键信息:

  • update 语句到达mysql的innodb引擎之后,并不是直接操作磁盘进行数据修改,而是先将磁盘数据load到buffer pool(如果没有的话);
  • buffer poo中update完成之后,并不是立即刷到磁盘,还需要将数据写到 undolog和redolog;
  • undolog记录了数据修改前的记录,redolog记录的是事务提交时数据页的物理修改;
  • 提交事务时,数据刷写到磁盘,同时把所有

mysql mvcc 原理详解相关推荐

  1. MySQL索引原理详解

    MySQL索引原理详解 索引的本质 索引的分类 Hash 索引 二叉树 B树(二三树) B+树 主键目录 索引页 索引页的分层 非主键索引 回表 索引的本质 索引的本质是一种排好序的数据结构. 索引的 ...

  2. MySQL事务原理详解,一篇文章让你搞懂

    事务(ACID) 场景:小明向小强转账10元 原子性(Atomicity) 转账操作是一个不可分割的操作,要么转失败,要么转成功,不能存在中间的状态,也就是转了一半的这种情况.我们把这种要么全做,要么 ...

  3. 玩转Mysql系列 - 第22篇:mysql索引原理详解

    Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能. 欢迎大家加我微信itsoku一起交流java.算法.数据库相关技术. 这是Mysql系列第22篇. 背景 使用mys ...

  4. 【图文动画详解原理系列】1.MySQL 索引原理详解

    MySQL简介 MySQL是一个开放源代码的关系数据库管理系统.原开发者为瑞典的MySQL AB公司,最早是在2001年MySQL3.23进入到管理员的视野并在之后获得广泛的应用.2008年MySQL ...

  5. mysql主从复制原理详解_简述 MySQL 逻辑架构与主从复制原理。

    ↑ 点击上面 "时代Java"关注我们,关注新技术,学习新知识! 1.Mysql逻辑架构图 如果能在脑海中构建出MySql各组件之间如何协同工作的架构图,就会有助于深入理解MySq ...

  6. MySQL之MVCC原理详解

    1.前导知识 1.1什么是MVCC MVCC全称 Multi-Version Concurrency Control,即多版本并发控制,MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据 ...

  7. MySQL 的 MVCC 原理详解

    什么是 MVCC ? mvcc,全称 multi-version concurrency control,即多版本并发控制 mvcc 是 mysql 的 innodb 引擎为了解决读写冲突,通过不加锁 ...

  8. MySQL备份原理详解

    备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(R ...

  9. 看一遍就理解:MVCC原理详解

    前言 MVCC实现原理是一道非常高频的面试题,最近技术讨论群的小伙伴一直在讨论,趁着国庆节有空,我们一起来聊聊. 1. 相关数据库知识点回顾 1.1 什么是数据库事务,为什么要有事务 事务,由一个有限 ...

最新文章

  1. 点到直线的投影公式_12分高考答题必刷题型,“空间向量分析点到线的距离问题”...
  2. 解决IOS微信中 HTML5 中audio的自动播放问题。
  3. 用GDAL/OGR去读shapefile
  4. leetcode442. 数组中重复的数据
  5. 魔兽世界客户端数据研究(四):M2文件头分析
  6. Win7系统下调整硬盘分区大小给C盘更多的空间
  7. JSK-9 元素移除【入门】
  8. SQL查询分析器SQL语句导入TXT文件
  9. Fritzing软件绘制Arduino面包板接线图传感器模块库文件170
  10. 百度地图调用笔记:javascript版本2
  11. Java小项目之拼图游戏
  12. 如何阻止搜索引擎收录指定网页
  13. Allegro修改via net
  14. 1255计算机网络 本,国家开放大学电大本科《计算机网络》2025期末试题及答案(试卷号:1255)...
  15. 最靠谱的6个自媒体平台,也可以快速上手
  16. 题解 洛谷P1209 【[USACO1.3]修理牛棚 Barn Repair】
  17. 视频倒放怎么弄出来?这几个小方法轻松解决这个难题
  18. 轻量简洁的图片查看软件irfanview
  19. SQL Server 初步学习存储过程总结
  20. 24/7专业家庭安全监控值得吗?

热门文章

  1. word和excel使用技巧大全
  2. python的变量需要声明赋值才能使用_Python变量的定义和使用
  3. 腾讯云发布新一代自研云原生数据库CynosDB
  4. 我的职业能力测试结果
  5. Kubernetes中Pods的详细介绍
  6. 基于Django的图书管理系统设计与实现
  7. 腾讯是如何挑战360安全卫士霸主地位
  8. 16.3 NEC协议红外遥控器
  9. python 依赖注入_Dependency Injection-依赖注入详解
  10. vs快捷键与vs自定义快捷键