的events_transactions_current
表包含当前事务事件。该表为每个线程存储一行,显示线程最近被监视的事务事件的当前状态,因此没有用于配置表大小的系统变量。例如:
mysql> SELECT * FROM performance_schemaevents_transactions_currentLIMIT 1\G *************************** 1. row *************************** THREAD_ID: 26 EVENT_ID: 7 END_EVENT_ID: NULL EVENT_NAME: transaction STATE: ACTIVE TRX_ID: NULL GTID: 3E11FA47-71CA-11E1-9E33-C80AA9429562:56 XID: NULL XA_STATE: NULL SOURCE: transaction.cc:150 TIMER_START: 420833537900000 TIMER_END: NULL TIMER_WAIT: NULL ACCESS_MODE: READ WRITE ISOLATION_LEVEL: REPEATABLE READ AUTOCOMMIT: NO NUMBER_OF_SAVEPOINTS: 0 NUMBER_OF_ROLLBACK_TO_SAVEPOINT: 0 NUMBER_OF_RELEASE_SAVEPOINT: 0 OBJECT_INSTANCE_BEGIN: NULL NESTING_EVENT_ID: 6 NESTING_EVENT_TYPE: STATEMENT
在包含事务事件行的表中,events_transactions_current
是最根本的。包含事务事件行的其他表在逻辑上派生自当前事件。例如,events_transactions_history
而且events_transactions_history_long
表是最近结束的事务事件的集合,每个线程的最大行数和所有线程的全局行数。
有关三个事务事件表之间关系的详细信息,请参见当前和历史事件的性能模式表.
有关配置是否收集事务事件的信息,请参见第10.7节,“性能模式事务表”.
的events_transactions_current
表有这些列:
THREAD_ID
,EVENT_ID
与事件关联的线程以及事件开始时的线程当前事件号。的
THREAD_ID
而且EVENT_ID
值加在一起唯一地标识行。没有两行具有相同的值对。END_EVENT_ID
此列设置为
零
当事件开始时,并在事件结束时更新到线程当前事件号。EVENT_NAME
收集事件的仪器名称。这是一个
的名字
的值。setup_instruments
表格仪器名称可以有多个部分,并形成层次结构,如中所讨论的第七章,性能模式仪器命名约定.状态
TRX_ID
未使用的。
GTID
GTID列包含的值
gtid_next
,这可以是之一匿名
,自动
,或使用格式的GTIDUUID:数量
.对于使用gtid_next =自动
,这是所有正常的客户端事务,当事务提交并分配实际的GTID时,GTID列会更改。如果gtid_mode
要么是在
或ON_PERMISSIVE
时,GTID列更改为事务的GTID。如果gtid_mode
要么是从
或OFF_PERMISSIVE
, GTID列变为匿名
.XID_FORMAT_ID
,XID_GTRID
,XID_BQUAL
XA事务标识符的元素。它们具有中描述的格式XA事务SQL语句.
XA_STATE
XA事务的状态。取值为
活跃的
(在XA开始
),闲置
(在XA结束
),准备
(在XA准备
),回滚
(在XA回滚
),或承诺
(在XA提交
).在副本上,相同的XA事务可以出现在
events_transactions_current
表在不同线程上具有不同的状态。这是因为XA事务准备好后,立即从副本的应用程序线程中分离出来,并且可以由副本上的任何线程提交或回滚。的events_transactions_current
该表显示线程上最近被监视的事务事件的当前状态,并且在线程空闲时不更新此状态。因此XA事务仍然可以显示在准备
初始应用程序线程的状态,在它被另一个线程处理之后。以确定仍然在中的XA事务准备
状态和需要恢复时,使用XA恢复
语句,而不是性能模式事务表。源
包含产生事件的检测代码的源文件的名称,以及发生检测的文件中的行号。这使您能够检查源代码,以确定具体涉及哪些代码。
TIMER_START
,TIMER_END
,TIMER_WAIT
事件的计时信息。这些值的单位是皮秒(万亿分之一秒)。的
TIMER_START
而且TIMER_END
值指示事件计时开始和结束的时间。TIMER_WAIT
事件运行时间(持续时间)。如果一个事件还没有结束,
TIMER_END
当前定时器值和TIMER_WAIT
到目前为止所经过的时间是(TIMER_END
−TIMER_START
).如果一个事件是由一个乐器产生的
定时= no
,不收集定时信息,且TIMER_START
,TIMER_END
,TIMER_WAIT
都是零
.有关将皮秒作为事件时间单位和影响时间值的因素的讨论,请参见第5.1节,“性能模式事件计时”.
ACCESS_MODE
事务访问模式。取值为
阅读写
或只读
.ISOLATION_LEVEL
自动提交
事务启动时是否启用了自动提交模式。
NUMBER_OF_SAVEPOINTS
,NUMBER_OF_ROLLBACK_TO_SAVEPOINT
,NUMBER_OF_RELEASE_SAVEPOINT
的数量
保存点
,回滚到保存点
,RELEASE SAVEPOINT
在交易期间发行的报表。OBJECT_INSTANCE_BEGIN
未使用的。
NESTING_EVENT_ID
的
EVENT_ID
此事件嵌套在其中的事件的值。NESTING_EVENT_TYPE
嵌套事件类型。取值为
事务
,声明
,阶段
,或等待
.(事务
不会出现,因为事务不能嵌套。)
的events_transactions_current
表中有这些索引:
主键(
THREAD_ID
,EVENT_ID
)
截断表
是允许的events_transactions_current
表格它删除行。