当前位置: 首页 > 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.dtcms.com/a/327120.html

相关文章:

  • K8s 1.32.6版本部署文档
  • Ansible 基础到实操笔记
  • 【Redis在数据治理与数据隐私保护策略中的优化】
  • 新手向:Python编写简易翻译工具
  • 移动端调用大模型详解
  • 【运维进阶】Ansible 自动化
  • 西门子 S7-200 与 S7-1200 借 PPI 以太网模块通讯,赋能食品行业进步
  • 【pxe】通过pxe批量安装centos系统(传统Legacy启动+uefi启动)
  • Neo4j Cypher语句
  • 淘宝API列表:高效获取商品详情图主图商品视频参数item_get
  • 微前端 + Docker + Kubernetes 运作机制
  • 【51单片机定时器流水灯】2022-10-28
  • Docker使用----(安装_Windows版)
  • Go语言实战案例:使用Gin框架构建Hello API
  • windows单机单卡+CIFAR-10数据集+Docker模拟训练
  • 快速了解自然语言处理
  • 《Redis慢查询日志操作:SLOWLOG GET/CONFIG等命令的分析方法》
  • 计算机视觉(4)-相机基础知识恶补
  • 前端css学习笔记3:伪类选择器与伪元素选择器
  • 【shell脚本编程】-4 shell脚本编写冒泡排序
  • Redis命令大全
  • 新型Windows RPC攻击可劫持服务并完全攻陷Active Directory,PoC已公开
  • C++——模板初阶
  • 企业培训笔记:宠物信息管理--实现宠物信息的添加
  • 计算机毕设不知道选什么题目?基于Spark的糖尿病数据分析系统【Hadoop+Spark+python】
  • 多语言与隐形攻击:LLM安全防线为何被频频突破?
  • 雪花算法snowflake分布式id生成原理详解,以及对解决时钟回拨问题几种方案讨论
  • 跨设备开发不再难:HarmonyOS 分布式任务管理应用全解析
  • 【web站点安全开发】任务2:HTML5核心特性与元素详解
  • 树:数据结构中的层次架构