Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


21.29.4 INFORMATION_SCHEMA INNODB_TRX テーブル

INNODB_TRX テーブルには、トランザクションがロックを待機しているかどうか、トランザクションが開始した時点、トランザクションが実行している SQL ステートメント (存在する場合) など、InnoDB 内部で現在実行している (読み取り専用トランザクションを除く) すべてのトランザクションに関する情報が含まれます。

表 21.4 INNODB_TRX のカラム

カラム名 説明
TRX_ID InnoDB 内部の一意のトランザクション ID 番号。(MySQL 5.6 以降、これらの ID は、読み取り専用で非ロックのトランザクションでは作成されません。詳細は、セクション14.13.14「InnoDB の読み取り専用トランザクションの最適化」を参照してください。)
TRX_WEIGHT トランザクションの重み。これは、トランザクションが変更した行の数とロックした行の数を反映したものです (ただし必ずしも正確な数ではありません)。デッドロックを解決するために、InnoDB は、ロールバックする対象として重みがもっとも小さなトランザクションを選択します。非トランザクションテーブルを変更したトランザクションは、変更された行およびロックされた行の数に関係なく、ほかのトランザクションより重みが高いと見なされます。
TRX_STATE トランザクション実行の状態。RUNNINGLOCK WAITROLLING BACK、または COMMITTING のいずれかです。
TRX_STARTED トランザクションの開始時間。
TRX_REQUESTED_LOCK_ID トランザクションが現在待機しているロック ID (TRX_STATELOCK WAIT である場合。それ以外は NULL)。ロックに関する詳細は、LOCK_IDINNODB_LOCKS と結合することによって参照できます。
TRX_WAIT_STARTED トランザクションがロックを待機し始めた時間 (TRX_STATELOCK WAITの場合。それ以外は NULL)。
TRX_MYSQL_THREAD_ID MySQL スレッド ID。IDPROCESSLIST と結合する場合に使用できます。セクション14.14.2.3.1「PROCESSLIST データとの不整合の可能性」を参照してください。
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_TICKETS innodb_concurrency_tickets オプションによる指定に従い、スワップアウトされる前に現在のトランザクションで行える作業量を示す値。
TRX_ISOLATION_LEVEL 現在のトランザクションの分離レベル。
TRX_UNIQUE_CHECKS 現在のトランザクションで一意チェックがオンになっているか、オフになっているか。(たとえば一括データロード中にオフになっている場合があります。)
TRX_FOREIGN_KEY_CHECKS 現在のトランザクションで外部キーチェックがオンになっているか、オフになっているか。(たとえば一括データロード中にオフになっている場合があります。)
TRX_LAST_FOREIGN_KEY_ERROR 最後の FK エラーの詳細なエラーメッセージか、NULL
TRX_ADAPTIVE_HASH_LATCHED アダプティブハッシュインデックスが現在のトランザクションによってロックされているかどうか。(一度に 1 つのトランザクションだけがアダプティブハッシュインデックスを変更できます。)
TRX_ADAPTIVE_HASH_TIMEOUT アダプティブハッシュインデックスの検索ラッチをすぐに破棄するか、MySQL からの呼び出し全体で保持するか。AHI 競合がない場合、この値はゼロのままで、ステートメントは終了するまでラッチを保持します。競合の間、ゼロまでカウントダウンし、ステートメントは各行ルックアップの直後にラッチを解放します。
TRX_IS_READ_ONLY

1 の値は、トランザクションが読み取り専用であることを示します (5.6.4 以降。)

TRX_AUTOCOMMIT_NON_LOCKING

1 の値は、トランザクションが、FOR UPDATE 句または LOCK IN SHARED MODE 句を使用していない SELECT ステートメントであり、この 1 つのステートメントだけがトランザクションに含まれるように autocommit 設定をオンにして実行していることを示します (5.6.4 以降)。このカラムと TRX_IS_READ_ONLY がどちらも 1 である場合、InnoDB は、テーブルデータを変更するトランザクションと関連付けられたオーバーヘッドを軽減するように、トランザクションを最適化します。


:

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX \G
*************************** 1. row ***************************
                    trx_id: 3298
                 trx_state: RUNNING
               trx_started: 2014-11-19 13:54:39
     trx_requested_lock_id: NULL
          trx_wait_started: NULL
                trx_weight: 316436
       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: 1621
     trx_lock_memory_bytes: 243240
           trx_rows_locked: 759343
         trx_rows_modified: 314815
   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

:


User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.