
SQLjava
MySQL 为什么需要双写缓冲区,redo log 为何不双写
InnoDB 的双写缓冲区用于防止脏页刷盘时发生部分页写入,避免 16KB 页在底层 4KB 写入中被断电打坏。redo log 记录的是页级物理修改,作用是事务崩溃后的重放与恢复,无法修复已经损坏的半页数据。doublewrite 先把页顺序写到连续区域形成完整副本,再写回数据文件,因此它和 redo 解决的是不同问题,不能互相替代。
发布于 2025/2/47 浏览0 点赞
博客作者
这位作者暂未填写个人简介。
1
已发布文章
0
博客获赞
6
博客浏览
第 1 页

InnoDB 的双写缓冲区用于防止脏页刷盘时发生部分页写入,避免 16KB 页在底层 4KB 写入中被断电打坏。redo log 记录的是页级物理修改,作用是事务崩溃后的重放与恢复,无法修复已经损坏的半页数据。doublewrite 先把页顺序写到连续区域形成完整副本,再写回数据文件,因此它和 redo 解决的是不同问题,不能互相替代。