使日志文件非常大可能会减少检查点期间的磁盘 I/O
。将日志文件的总大小设置为与缓冲池一样大甚至更大通常是有意义的。虽然过去大日志文件会使崩溃恢复花费过多时间,但从 MySQL 5.5 开始,崩溃恢复的性能增强使得在崩溃后使用大日志文件快速启动成为可能。(严格来说,这种性能改进适用于带有 InnoDB 插件 1.0.7 及更高版本的 MySQL 5.1。对于 MySQL 5.5,这种改进在默认的 InnoDB 存储引擎中可用。)
检查点处理的工作原理
InnoDB
实现
称为模糊检查点的检查点机制。从缓冲池中小批量刷新修改后的数据库页面。无需在单个批次中刷新缓冲池,这会在检查点过程中中断用户 SQL 语句的处理。
InnoDB
在崩溃恢复期间,
InnoDB
查找写入日志文件的检查点标签。它知道在标签之前对数据库的所有修改都存在于数据库的磁盘映像中。然后InnoDB
从检查点向前扫描日志文件,将记录的修改应用到数据库。