2021-09-24
innodb_flush_log_at_trx_commit=0 存在的意义是什么?
innodb_flush_log_at_trx_commit = 0
代表每次提交写入MySQL log buffer 然后再每秒刷到磁盘上
innodb_flush_log_at_trx_commit = 1
代表每次提交写入 os cache,然后再每秒刷到磁盘上
=0 是应用级保障,如果应用crash了则最多可能丢一秒
=1 是os级保障,如果OS crash了。则最多可能丟一秒
1、从mysql的缓存到os的缓存都是内存交换,应该很快。所以刷到OS cache也应该不会影响性能吧。
2、大概率我们生产环境,mysql也会独占服务器,或者说服务器上除了mysql一个重应用之外,不会再有重应用。 那么就不会存在 os忙其它事,处理不过来mysql请求的问题。
so…基于上述我的认知。那么innodb_flush_log_at_trx_commit=0 在哪些场景才用呢。而不能用 =2?
我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

评论

