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

checkpoint机制

1、什么是checkpoint

将缓冲池中的脏页刷新到磁盘,并更新redo log的checkpoint位点,确保数据库在发生故障时可以快速恢复到一致的状态。

2、checkpoint执行过程

  • 确保需要刷新的脏页:从缓冲池中选取一部分需要刷新的页
  • 数据页刷新:将选定的脏页写入磁盘文件
  • 更新redo log的checkpoint位置:释放redo log旧空间,使其可以被新事务复用

3、InnoDB支持的checkpoint类型

  • sharp checkpoint(尖锐检查点):在数据库关闭时,一次性将所有脏页刷新到磁盘,并更新数据文件,使其处于一致性状态。
  • fuzzy checkpoint(模糊检查点):只会将部分脏页刷新到磁盘。

4、checkpoint主要作用

  • 缩短数据库崩溃时的恢复时间:只需从最近checkpoint位置恢复,不必重做所有redo log
  • 释放redo log日志盘空间:防止日志盘写满
  • 缓解缓冲池大小:缓冲池不够时将脏页刷到磁盘
  • 优化IO负载:逐步刷脏页,减少磁盘IO压力,防止IO突发

5、checkpoint触发条件

主动执行:

  • redo log日志盘满了,需要触发checkpoint释放redo log空间
  • 手动触发flush tables
  • mysql正常关闭时触发

被动执行:

  • 缓冲池中脏页比例达到参数值
  • 自适应刷新算法:通过跟踪缓冲池中脏页数量和生成重做日志记录的速率决定从缓冲池中清除多少脏页

相关文章:

  • IntelliJ IDEA 中 Maven 的 `pom.xml` 变灰带横线?一文详解解决方法
  • MyBatis-Plus防全表更新与删除插件BlockAttackInnerInterceptor
  • 第十六届蓝桥杯康复训练--4
  • Mysql的库操作
  • 全面解析 HTML 标签:简写与全称及其应用
  • 在Django模型中的Mysql安装
  • TCP/IP协议栈----通俗易懂(与OSI七层模型区别)
  • Qt介绍自定义插件四
  • 在 Unity 中判断 Xbox 手柄是否连接
  • 基于深度学习的皮肤癌智能检测与语音提示系统【python源码+Pyqt5界面+数据集+训练代码】
  • SSM框架——Spring面试题
  • 【链表世界的深度探索:从基础到高阶的算法解读】—— LeetCode
  • unreal engine5 mation warping使用,敌人受击后面向攻击者
  • 【MySQL基础-9】深入理解MySQL中的聚合函数
  • 解释 TypeScript 中的枚举(enum),如何使用枚举定义一组常量?
  • Blender材质 - 层权重
  • 使用unplugin-auto-import自动导入vue3的api,不需要在每一个.vue文件中重复去导入操作
  • 智慧园区综合运营平台建设方案,智慧园区规划方案(PPT)
  • LLM论文笔记 25: Chain-of-Thought Reasoning without Prompting
  • 【AI】深度学习与人工智能应用案例详解
  • 著名词作家陈哲逝世,代表作《让世界充满爱》《同一首歌》等
  • 万科再获深铁集团借款,今年已累计获股东借款近120亿元
  • 遭“特朗普关税”冲击,韩国今年经济增长预期“腰斩”降至0.8%
  • 菲律宾中期选举初步结果出炉,杜特尔特家族多人赢得地方选举
  • 日本前卫艺术先驱群展上海:当具体派相遇古树古宅
  • 第78届戛纳电影节开幕,罗伯特·德尼罗领取终身成就奖