的events_transactions_current
表包含当前事务事件。该表为每个线程存储一行,显示线程最近监视的事务事件的当前状态,因此没有用于配置表大小的系统变量。例如:
SELECT * FROM performance_schema。events_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
表是最近结束的事务事件的集合,每个线程的最大行数和全局跨所有线程的最大行数。
有关三个事务事件表之间关系的详细信息,请参见第27.9节“当前和历史事件的性能模式表”.
有关配置是否收集事务事件的信息,请参见第27.12.7节“性能架构事务表”.
的events_transactions_current
表有这些列:
THREAD_ID
,EVENT_ID
与事件关联的线程和事件开始时的线程当前事件号。的
THREAD_ID
而且EVENT_ID
组合在一起的值唯一标识行。没有两行具有相同的值对。END_EVENT_ID
此列设置为
零
当事件开始并在事件结束时更新为线程当前事件号。EVENT_NAME
收集事件的仪器的名称。这是一个
的名字
价值来自setup_instruments
表格仪器名称可能有多个部分,并形成一个层次,如在第27.6节,“性能模式仪器命名约定”.状态
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事务标识符的元素。它们的格式在第13.3.8.1节“XA事务SQL语句”.
XA_STATE
XA事务的状态。取值为
活跃的
(在XA开始
),闲置
(在XA结束
),准备
(在XA准备
),回滚
(在XA回滚
),或承诺
(在XA提交
).在副本上,相同的XA事务可以出现在
events_transactions_current
表在不同线程上具有不同的状态。这是因为在XA事务准备好之后,它立即从副本的应用程序线程中分离出来,并且可以由副本上的任何线程提交或回滚。的events_transactions_current
表显示线程上最近监视的事务事件的当前状态,当线程空闲时不更新此状态。因此XA事务仍然可以显示在准备
状态的初始应用程序线程,在它已被另一个线程处理之后。积极地识别XA事务仍然在准备
状态和需要恢复时,使用XA恢复
语句,而不是Performance Schema事务表。源
包含产生事件的检测代码的源文件的名称,以及发生检测的文件中的行号。这使您能够检查源代码,以确定具体涉及哪些代码。
TIMER_START
,TIMER_END
,TIMER_WAIT
事件的定时信息。这些值的单位是皮秒(万亿分之一秒)。的
TIMER_START
而且TIMER_END
值指示事件计时开始和结束的时间。TIMER_WAIT
事件运行时间(持续时间)。如果一个事件没有结束,
TIMER_END
当前定时器的值和TIMER_WAIT
到目前为止所经过的时间是(TIMER_END
−TIMER_START
).如果一个事件是由一个乐器产生的
计时=否
,不收集定时信息TIMER_START
,TIMER_END
,TIMER_WAIT
都是零
.有关将皮秒作为事件时间和影响时间值的因素的单位的讨论,请参见第27.4.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
表格它删除了行。