日志缓冲区(log buffer)是内存中一块区域,用来缓存要写入到磁盘上的log文件的数据。日志缓冲区大小受变量 innodb_log_buffer_size变量。默认值是16MB。日志缓冲区的内容会被周期性的刷新到磁盘中。有了充足的的日志 缓冲区,在运行大事务时,可以不需要再事务commit前将redo log落盘。因此,如果事务中会插入、更新,或删除大量 记录,那么增加日志缓冲区可以节省磁盘IO。
变量innodb_flush_log_at_trx_commit控制日志缓冲区的数据写入和落盘的方式。变量innodb_flush_log_at_timeout 控制了日志缓冲区的刷盘频率。
想了解更多相关内容,可以查看内存设置,以及 8.5.4 “Optimizing InnoDB Redo Logging”。