当前位置: 首页 > news >正文

MySQL——MySQL引擎层BufferPool工作过程原理

目录

    • 一、MySQL引擎层BufferPool工作过程图解
    • 二、MySQL引擎层BufferPool工作过程原理

一、MySQL引擎层BufferPool工作过程图解

  • 图解

    在这里插入图片描述

二、MySQL引擎层BufferPool工作过程原理

  • 首先关闭自动提交,执行一条修改语句。

    SET AUTOCOMMIT =0;
    update employees set name='张三' where id=1:
    
  • 客户端连接mysql服务层,再由服务层的执行器去调用innoDB引擎,首先会去innoDB引擎的BufferPool中查看id=1的数据有没有在BufferPool中进行缓存,

  • 如果有,则直接更新BufferPool中的缓存,

  • 如果没有,则去磁盘.idb文件中去加载id=1的数据,根据索引找到id=1的数据页,找到数据页后,把整个数据页缓存在BufferPool中,从而针对id=1的数据进行修改。把修改之前的数据存放到Undolog中来进行备份,为后续的数据回滚、事务隔离相关的操作。
    在这里插入图片描述

  • 更新完数据后,BufferPool中的页成为脏页,因为此时BufferPool中id=1的数据跟磁盘文件id=1的数据它们的name属性的值已经不一致了。
    在这里插入图片描述

  • 此时需要将脏页的数据进行提交,同步到磁盘文件中,然后才会恢复到正常页。

    COMMIT;
    

    在这里插入图片描述

http://www.lryc.cn/news/618878.html

相关文章:

  • leetcode3258:统计满足K约束的子字符串数量Ⅰ(变长滑动窗口详解)
  • Tricentis Tosca 2025.1 LTS 系统要求
  • Java 中 Set 接口详解:知识点与注意事项
  • Day50--图论--98. 所有可达路径(卡码网),797. 所有可能的路径
  • Javase 之 字符串String类
  • Python 多进程及进程间通信
  • C++实现LINGO模型处理程序
  • 杰里常用功能API
  • Navicat更改MySql表名后IDEA项目启动会找原来的表
  • 腾讯codebuddy.ai 安装实测【从零开始开发在线五子棋游戏:完整开发记录】
  • 服务降级方式
  • 2025年最新原创多目标算法:多目标酶作用优化算法(MOEAO)求解MaF1-MaF15及工程应用---盘式制动器设计,提供完整MATLAB代码
  • 拖动式看板工具TOP6:2025最新评测
  • 疯狂星期四文案网第37天运营日记
  • 看懂 Makefile 第一课:基础
  • 企业培训笔记:宠物信息管理--实现宠物信息的添加
  • c#,vb.net全局多线程锁,可以在任意模块或类中使用,但尽量用多个锁提高效率
  • 行业分享丨SimSolid 在汽车零部件开发中应用的可行性调研及实践
  • 基于Hadoop的汽车价格预测分析及评论情感分析可视化系统
  • 海信IP108H(53U1M)_S905L-B主控-无线SV6051P/8822CS(通刷咪咕mg100_mg101)线刷固件包
  • grpc浅入门
  • 一键生成 Android 适配不同分辨率尺寸的图片
  • 什么是 Spring MVC?
  • AuthController类讲解
  • 龙舌兰人造植物、Apple Watch保护壳、厨房水槽收纳架、家居磁性挂钩等亚马逊热销单品,正在外观专利TRO维权!
  • 备战国赛算法讲解——马尔科夫链,2025国赛数学建模B题详细思路模型更新
  • VUE+SPRINGBOOT从0-1打造前后端-前后台系统-会议记录
  • Linux网络--2.2、TCP接口
  • 5 重复匹配
  • 51 单片机分层架构的模块依赖关系图