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 テーブルに対して許可されています。 行が削除されます。