随笔:MySQL 查询事务状态字段说明

  • 时间:
  • 浏览:0
  • 来源:大发UU快3APP—大发UU快三

欢迎关注我的《深入理解MySQL主从原理 32讲 》,如下:

因此COMMITTING清况 正确commit流程不触发。

你什儿 字段取值统统,标记了事务的各个阶段,主要来自于trx_t::op_info,在commit阶段有如下取值:

因此主要取值有三个

在测试中发现即便是commit下的也会是RUNNING清况 ,如下:

你什儿 字段源码注释如下:

其中preparing 和committing分别由函数trx_prepare_for_mysql和trx_commit_for_mysql进入,做完innodb层的prepare和commit后就会更改为NULL,实际的binlog的flush sync阶段不所含其中,实际也很好测试,可不也能做另有三个 大事务,会发现 commit期间基本占据 NULL清况 :

因此上面三个 取值都都有如此有用。

今天另有三个 亲戚亲戚朋友想查看一下的MySQL层事务提交清况 经历的过程,比如亲戚亲戚朋友常说的prapare flush sync commit 好多个阶段,因此找了一整理现视乎如此视图可不也能就看一共就看三个 地方:

其中information_schema.INNODB_TRX表由函数fill_innodb_trx_from_cache进行填充,最终发现亲戚亲戚朋友均只有满足需求。

TRANS_STATE_ACTIVE到TRANS_STATE_COMMITTED的转换会总是 出现在innodb层提交完成后,也因此你什儿 过后 实际上整个prapare flush sync commit 可能开始英文,过后 总是 除以ACTIVE清况 ,用处不大。如下:

你什儿 值也只有三个 取值: