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


MySQL 5.6 リファレンスマニュアル  /  ...  /  InnoDB INFORMATION_SCHEMA トランザクションおよびロックテーブル

14.14.2 InnoDB INFORMATION_SCHEMA トランザクションおよびロックテーブル

3 つの InnoDB INFORMATION_SCHEMA テーブルを使用すると、トランザクションのモニタリングや、可能性のあるロックの問題の診断が容易になります。これらの 3 つのテーブルは、INNODB_TRXINNODB_LOCKS、および INNODB_LOCK_WAITS です。

  • INNODB_TRX: 現在 InnoDB の内部で実行中のすべてのトランザクションに関する情報が含まれています。これには、そのトランザクションがロックを待機しているかどうか、そのトランザクションがいつ開始されたか、そのトランザクションが実行している特定の SQL ステートメントなどが含まれます。

  • INNODB_LOCKS: 別のトランザクションがロックを解放するのを待機している InnoDB 内の各トランザクション (INNODB_TRX.TRX_STATE='LOCK WAIT') は、ただ 1 つのブロックしているロック要求によってブロックされます。そのブロックしているロック要求は、互換性がないモードにある別のトランザクションによって保持されている行ロックまたはテーブルロックに対するものです。待機しているトランザクションまたはブロックされているトランザクションは、ほかのトランザクションがコミットまたはロールバックして、要求されたロックを解放するまで処理を続行できません。INNODB_LOCKS には、ブロックされているトランザクションごとに、そのトランザクションが要求し、かつ待機している各ロックを記述した 1 行が含まれています。INNODB_LOCKS にはまた、ロックを保持しているトランザクションの状態 ('RUNNING''LOCK WAIT''ROLLING BACK'、または 'COMMITTING') にかかわらず、別のトランザクションをブロックしているロックごとの 1 行も含まれています。トランザクションをブロックしているロックは常に、要求されたロックのモードとは互換性のないモード (読み取りと書き込み、共有と排他的など) に保持されています。

  • INNODB_LOCK_WAITS: このテーブルを使用すると、特定のロックをどのトランザクションが待機しているか、または特定のトランザクションがどのロックを待機しているかがわかります。このテーブルには、ブロックされているトランザクションごとに、そのトランザクションが要求したロックと、その要求をブロックしているロックを示す 1 つ以上の行が含まれています。REQUESTED_LOCK_ID はトランザクションが要求しているロックを示し、BLOCKING_LOCK_ID は、最初のトランザクションの続行を妨げている (別のトランザクションによって保持されている) ロックを示します。ブロックされている特定のどのトランザクションでも、INNODB_LOCK_WAITS 内のすべての行が REQUESTED_LOCK_ID については同じ値を、また BLOCKING_LOCK_ID については異なる値を持っています。


User Comments
Sign Up Login You must be logged in to post a comment.