このページは機械翻訳したものです。
INNODB_TRX テーブルには、InnoDB 内で現在実行されているすべてのトランザクションに関する情報が表示されます。これには、トランザクションがロックを待機しているかどうか、トランザクションの開始時、トランザクションが実行されている SQL ステートメント (ある場合) などが含まれます。
使用法については、セクション15.15.2.1「InnoDB トランザクションの使用および情報のロック」を参照してください。
INNODB_TRX テーブルには、次のカラムがあります:
-
TRX_IDInnoDB内部の一意のトランザクション ID 番号。 これらの ID は、読取り専用および非ロックのトランザクションに対しては作成されません。 詳細は、セクション8.5.3「InnoDB の読み取り専用トランザクションの最適化」を参照してください。 -
TRX_WEIGHTトランザクションの重み。これは、トランザクションが変更した行の数とロックした行の数を反映したものです (ただし必ずしも正確な数ではありません)。 デッドロックを解決するために、
InnoDBはロールバックする「「被害者」」として最小の重みを持つトランザクションを選択します。 非トランザクションテーブルを変更したトランザクションは、変更およびロックされた行の数に関係なく、他のトランザクションよりも重いとみなされます。 -
TRX_STATEトランザクションの実行状態。 許可される値は、
RUNNING,LOCK WAIT,ROLLING BACKおよびCOMMITTINGです。 -
TRX_STARTEDトランザクション開始時間。
-
TRX_REQUESTED_LOCK_IDTRX_STATEがLOCK WAITの場合は、トランザクションが現在待機しているロックの ID。それ以外の場合はNULL。 ロックの詳細を取得するには、このカラムをパフォーマンススキーマdata_locksテーブルのENGINE_LOCK_IDカラムと結合します。 -
TRX_WAIT_STARTEDTRX_STATEがLOCK WAITの場合、トランザクションがロックの待機を開始した時刻。それ以外の場合はNULL。 -
TRX_MYSQL_THREAD_IDMySQL スレッド ID。 スレッドの詳細を取得するには、このカラムを
INFORMATION_SCHEMAPROCESSLISTテーブルのIDカラムと結合しますが、セクション15.15.2.3「InnoDB トランザクションおよびロック情報の永続性と一貫性」 を参照してください。 -
TRX_QUERYトランザクションによって実行されている SQL ステートメント。
-
TRX_OPERATION_STATEトランザクションの現在の操作 (存在する場合)。それ以外の場合は
NULL。 -
TRX_TABLES_IN_USEこのトランザクションの現在の SQL ステートメントを処理しているときに使用される
InnoDBテーブルの数。 -
TRX_TABLES_LOCKED現在の SQL ステートメントで行ロックが有効になっている
InnoDBテーブルの数。 (これらはテーブルロックではなく行ロックなので、一部の行がロックされているかどうかにかかわらず、通常、複数のトランザクションによるテーブルからの読み取りおよびテーブルへの書き込みを実行できます。) -
TRX_LOCK_STRUCTSトランザクションで予約されたロックの数。
-
TRX_LOCK_MEMORY_BYTESメモリー内のこのトランザクションのロック構造にかかった合計サイズ。
-
TRX_ROWS_LOCKEDこのトランザクションによってロックされたおおよその数または行数。 この値には、物理的には存在するがトランザクションから認識できない削除マークが付けられた行が含まれる場合があります。
-
TRX_ROWS_MODIFIEDこのトランザクションで変更および挿入された行の数。
-
TRX_CONCURRENCY_TICKETSinnodb_concurrency_ticketsシステム変数で指定された、スワップアウトされる前に現在のトランザクションが実行できる作業量を示す値。 -
TRX_ISOLATION_LEVEL現在のトランザクションの分離レベル。
-
TRX_UNIQUE_CHECKS現在のトランザクションで一意チェックがオンになっているか、オフになっているか。 たとえば、バルクデータロード中にオフになる場合があります。
-
TRX_FOREIGN_KEY_CHECKS現在のトランザクションで外部キーチェックがオンになっているか、オフになっているか。 たとえば、バルクデータロード中にオフになる場合があります。
-
TRX_LAST_FOREIGN_KEY_ERROR最後の外部キーエラーの詳細なエラーメッセージ (存在する場合)。それ以外の場合は
NULL。 -
TRX_ADAPTIVE_HASH_LATCHED適応ハッシュインデックスが現在のトランザクションによってロックされているかどうか。 適応型ハッシュインデックス検索システムがパーティション化されている場合、単一のトランザクションは適応型ハッシュインデックス全体をロックしません。 適応型ハッシュインデックスパーティション化は、デフォルトで 8 に設定されている
innodb_adaptive_hash_index_partsによって制御されます。 -
TRX_ADAPTIVE_HASH_TIMEOUTアダプティブハッシュインデックスの検索ラッチをすぐに破棄するか、MySQL からの呼び出し全体で保持するか。 適応型ハッシュインデックスの競合がない場合、この値はゼロのままで、ステートメントは終了するまでラッチを予約します。 競合の間、ゼロまでカウントダウンし、ステートメントは各行ルックアップの直後にラッチを解放します。 適応ハッシュインデックス検索システムがパーティション化されている場合 (
innodb_adaptive_hash_index_partsによって制御されます)、値は 0 のままです。 -
TRX_IS_READ_ONLY値 1 は、トランザクションが読取り専用であることを示します。
-
TRX_AUTOCOMMIT_NON_LOCKING値 1 は、トランザクションが
FOR UPDATE句またはLOCK IN SHARED MODE句を使用しないSELECTステートメントであり、トランザクションにこのステートメントのみが含まれるようにautocommitを有効にして実行されていることを示します。 このカラムとTRX_IS_READ_ONLYがどちらも 1 である場合、InnoDBは、テーブルデータを変更するトランザクションと関連付けられたオーバーヘッドを軽減するように、トランザクションを最適化します。 -
TRX_SCHEDULE_WEIGHTロックを待機しているトランザクションに競合対応トランザクションスケジューリング (CATS) アルゴリズムによって割り当てられるトランザクションスケジュールの重み。 この値は、他のトランザクションの値に対して相対的です。 値が大きいほど重みが大きくなります。 値は、
TRX_STATEカラムでレポートされるLOCK WAIT状態のトランザクションに対してのみ計算されます。 ロックを待機していないトランザクションについては、NULL 値が報告されます。TRX_SCHEDULE_WEIGHTの値は、TRX_WEIGHTの値とは異なります。この値は、目的に応じて異なるアルゴリズムによって計算されます。
例
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX\G
*************************** 1. row ***************************
trx_id: 1510
trx_state: RUNNING
trx_started: 2014-11-19 13:24:40
trx_requested_lock_id: NULL
trx_wait_started: NULL
trx_weight: 586739
trx_mysql_thread_id: 2
trx_query: DELETE FROM employees.salaries WHERE salary > 65000
trx_operation_state: updating or deleting
trx_tables_in_use: 1
trx_tables_locked: 1
trx_lock_structs: 3003
trx_lock_memory_bytes: 450768
trx_rows_locked: 1407513
trx_rows_modified: 583736
trx_concurrency_tickets: 0
trx_isolation_level: REPEATABLE READ
trx_unique_checks: 1
trx_foreign_key_checks: 1
trx_last_foreign_key_error: NULL
trx_adaptive_hash_latched: 0
trx_adaptive_hash_timeout: 10000
trx_is_read_only: 0
trx_autocommit_non_locking: 0
trx_schedule_weight: NULL
メモ
このテーブルを使用すると、負荷の大きな同時ロードの時間中に生じるパフォーマンスの問題の診断に役立ちます。 その内容は、セクション15.15.2.3「InnoDB トランザクションおよびロック情報の永続性と一貫性」で説明しているように更新されます。
このテーブルをクエリーするには
PROCESS権限が必要です。INFORMATION_SCHEMACOLUMNSテーブルまたはSHOW COLUMNSステートメントを使用して、データ型やデフォルト値など、このテーブルのカラムに関する追加情報を表示します。