更大的日志文件可以在checkpointing时降低磁盘I/O。使日志文件总大小和buffer pool一样大,或是更大,通常是有意义的。
CheckPoint工作原理 #
InnoDB使用的是被称为模糊检查点的检查机制。InnoDB将被修改的页面从buffer pool中小批量刷到磁盘上。没有必要一次性将整个buffer pool刷完,那可能会在checkpoint过程中影响用户sql的执行。
在崩溃恢复过程中,InnoDB会查找日志文件中的checkpoint标签。所有在这个标签之前的修改都已经被保存在了数据库的磁盘镜像中。然后InnoDB就从从这个检查点开始向后扫描,将日志中记录的修改应用到数据库中。