ITPub博客

首页 > 数据库 > MySQL > MySQL事务提交的三个阶段介绍

MySQL事务提交的三个阶段介绍

MySQL 作者:chenfeng 时间:2018-08-24 16:02:54 0 删除 编辑

事务提交分三个阶段

– 每阶段若干个线程进入阶段队列,第一个(leader)线程完成每个线程的会话的阶段任务

– 各阶段并行执行,任一个阶段只有一组事务

– 第二,三阶段可以追加合并到前面一批的队列,原leader中途变为follower

– flush阶段,为每个事务依次做:

• 存储引擎prepare, 一次性为全组刷存储引擎事务日志

• 产生XID_EVENT, 固化事务的binlog cache

• 产生gtid-log-event(事务时间戳,全局时间戳)

• 写入事务的binlog到binlog文件中

– sync阶段

• binlog group commit等待

• 一次性刷盘binlog文件

– commit

• 存储引擎commit,按照队列内顺序做

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15498/viewspace-2212775/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
交流MySQL,PolarDB/PolarDB-X,PostgreSQL,MongoDB和Redis技术。

注册时间:2015-12-07

  • 博文量
    784
  • 访问量
    2689271