MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む
このページは機械翻訳したものです。
events_transactions_current
テーブルには、現在のトランザクションイベントが含まれます。 テーブルには、スレッドごとに最新の監視対象トランザクションイベントの現在のステータスを示す 1 行が格納されるため、テーブルサイズを構成するためのシステム変数はありません。 例:
mysql>SELECT *
FROM performance_schema.events_transactions_current LIMIT 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
テーブルは、終了した最新のトランザクションイベントのコレクションで、スレッド当たりの最大行数まで、およびすべてのスレッドにわたってグローバルに終了します。
3 つのトランザクションイベントテーブル間の関係の詳細は、セクション27.9「現在および過去のイベントのパフォーマンススキーマテーブル」 を参照してください。
トランザクションイベントを収集するかどうかの構成の詳細は、セクション27.12.7「パフォーマンススキーマのトランザクションテーブル」 を参照してください。
events_transactions_current
テーブルには、次のカラムがあります:
THREAD_ID
、EVENT_ID
イベントに関連付けられたスレッドとイベントの起動時のスレッドの現在のイベント番号。 ともに取得される THREAD_ID
と EVENT_ID
の値によって、行が一意に識別されます。 同じ値のペアを持つ行は 2 つありません。
END_EVENT_ID
このカラムは、イベントの起動時に NULL
に設定され、イベントの終了時にスレッドの現在のイベント番号に更新されます。
EVENT_NAME
イベントが収集されたインストゥルメントの名前。 これは setup_instruments
テーブルからの NAME
値です。 セクション27.6「パフォーマンススキーマインストゥルメント命名規則」に説明するように、インストゥルメント名には複数の部分があり、階層を形成することがあります。
STATE
現在のトランザクションの状態。 値は、ACTIVE
(START TRANSACTION
または BEGIN
の後)、COMMITTED
(COMMIT
の後) または ROLLED BACK
(ROLLBACK
の後) です。
TRX_ID
使用されません。
GTID
GTID カラムには gtid_next
の値が含まれ、ANONYMOUS
、AUTOMATIC
または GTID のいずれかを UUID:NUMBER
の形式で指定できます。 gtid_next=AUTOMATIC
(すべての通常のクライアントトランザクション) を使用するトランザクションの場合、GTID カラムは、トランザクションがコミットされ、実際の GTID が割り当てられると変更されます。 gtid_mode
が ON
または ON_PERMISSIVE
の場合、GTID カラムはトランザクション GTID に変更されます。 gtid_mode
が OFF
または OFF_PERMISSIVE
の場合、GTID カラムは ANONYMOUS
に変更されます。
XID_FORMAT_ID
、XID_GTRID
および XID_BQUAL
XA トランザクション識別子の要素。 これらの形式は、セクション13.3.8.1「XA トランザクション SQL ステートメント」 で説明されている形式です。
XA_STATE
XA トランザクションの状態。 値は、ACTIVE
(XA START
の後)、IDLE
(XA END
の後)、PREPARED
(XA PREPARE
の後)、ROLLED BACK
(XA ROLLBACK
の後) または COMMITTED
(XA COMMIT
の後) です。
レプリカでは、events_transactions_current
テーブルに同じ XA トランザクションが表示され、スレッドごとに状態が異なる場合があります。 これは、XA トランザクションが準備された直後にレプリカアプライヤスレッドからデタッチされ、レプリカ上の任意のスレッドによってコミットまたはロールバックできるためです。 events_transactions_current
テーブルには、スレッド上の最新の監視対象トランザクションイベントの現在のステータスが表示され、スレッドがアイドル状態の場合、このステータスは更新されません。 そのため、XA トランザクションは、別のスレッドによって処理された後も、元のアプライヤスレッドの PREPARED
状態で表示できます。 PREPARED
状態のままでリカバリが必要な XA トランザクションを肯定的に識別するには、パフォーマンススキーマトランザクションテーブルではなく、XA RECOVER
ステートメントを使用します。
SOURCE
イベントを生成した、インストゥルメントされたコードを格納するソースファイルの名前と、インストゥルメンテーションが行われたファイルの行番号。 これにより、ソースをチェックして、コードに含まれるものを正確に判断することができます。
TIMER_START
、TIMER_END
、TIMER_WAIT
イベントのタイミング情報。 これらの値の単位はピコ秒 (秒の 1 兆分の 1) です。 TIMER_START
および TIMER_END
値は、イベントのタイミングが開始されたときと終了したときを示します。 TIMER_WAIT
はイベントの経過時間 (期間) です。
イベントが終了していない場合、TIMER_END
は現在のタイマー値で、TIMER_WAIT
はこれまでに経過した時間です (TIMER_END
- TIMER_START
)。
イベントが TIMED = NO
のインストゥルメントから生成されている場合、タイミング情報は収集されず、TIMER_START
、TIMER_END
、および TIMER_WAIT
はすべて NULL
になります。
イベント時間の単位としてのピコ秒および時間値に影響する要因については、セクション27.4.1「パフォーマンススキーマイベントタイミング」を参照してください。
ACCESS_MODE
トランザクションアクセスモード。 値は READ WRITE
または READ ONLY
です。
ISOLATION_LEVEL
トランザクション分離レベル。 値は REPEATABLE READ
, READ COMMITTED
, READ UNCOMMITTED
または SERIALIZABLE
です。
AUTOCOMMIT
トランザクションの開始時に autcommit モードが有効化されたかどうか。
NUMBER_OF_SAVEPOINTS
, NUMBER_OF_ROLLBACK_TO_SAVEPOINT
, NUMBER_OF_RELEASE_SAVEPOINT
トランザクション中に発行された SAVEPOINT
、ROLLBACK TO SAVEPOINT
および RELEASE SAVEPOINT
ステートメントの数。
OBJECT_INSTANCE_BEGIN
使用されません。
NESTING_EVENT_ID
このイベントが中にネストされているイベントの EVENT_ID
値。
NESTING_EVENT_TYPE
ネストしているイベントの種類。 値は TRANSACTION
, STATEMENT
, STAGE
または WAIT
です。 (トランザクションはネストできないため、TRANSACTION
は表示されません。)
events_transactions_current
テーブルには次のインデックスがあります:
主キー (THREAD_ID
、EVENT_ID
)
TRUNCATE TABLE
は events_transactions_current
テーブルに対して許可されています。 行が削除されます。