开发者社区> 问答> 正文

在 InnoDB 存储引擎中提交事务时会怎么进行操作?

在 InnoDB 存储引擎中提交事务时会怎么进行操作?

展开
收起
游客cum3jectrqmmy 2022-01-13 15:34:55 433 0
1 条回答
写回答
取消 提交回答
  • 在 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。

    2022-01-13 17:59:11
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
阿里云开发者社区官方技术圈,用户产品功能发布、用户反馈收集等。
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载