您的当前位置:首页正文

关于redo log 刷盘时机

来源:华佗健康网

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也会进行刷盘。

因篇幅问题不能全部显示,请点此查看更多更全内容