InnoDB 存储引擎为 redo log 的刷盘策略提供了 innodb_flush_log_at_trx_commit 参数,它支持三种策略:
0 :设置为 0 的时候,表示每次事务提交时不进行刷盘操作
1 :设置为 1 的时候,表示每次事务提交时都将进行刷盘操作(默认值)
2 :设置为 2 的时候,表示每次事务提交时都只把 redo log buffer 内容写入 page cache ,然后调用 fsync 刷盘。
innodb_flush_log_at_trx_commit 参数默认为 1
InnoDB 存储引擎有一个后台线程,每隔1 秒,就会把 redo log buffer 中的内容写到文件系统缓存(page cache),然后调用 fsync 刷盘
除此之外,当 log buffer 占用超过50%时也会刷盘。
关闭服务器时,也会刷盘。
更新checkpoint也会进行刷盘。
InnoDB存储引擎通过innodb_flush_log_at_trx_commit参数控制刷盘策略,包括0(不刷盘),1(每次提交时刷盘),2(写入pagecache并同步)。默认值为1。此外,后台线程每秒、logbuffer超50%、服务器关闭及更新checkpoint时也会触发刷盘。
486

被折叠的 条评论
为什么被折叠?



