在 InnoDB 存储引擎中,提交事务时,一般会进行两个阶段的操作:
1) 修改内存中事务对应的信息,并将日志写入相应的Redo Log Buffer。
2) 调用 fsync() 函数将 Redo Log Buffer 中的日志信息 刷新到磁盘的 Redo Log 文件中。其中,步骤2) 因为存在写磁盘的操作,所以比较耗时。事务提交后,先 将日志 信息写入内存中的 Redo Log Buffer, 然后调用 fsync () 函数将多个事务的日志信息从内存中的 Redo Log Buffer 刷新到磁盘的 Redo Log 文件中, 这样能够大大提升 事务日志的写入效率,尤其对于写入和更新操作比较频繁的业务 , 性能提升更加明显。
资料来源:《深入理解分布式事务:原理与实战》,下载链接为:https://developer.aliyun.com/topic/download?id=8201。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。