PDF (US Ltr)
- 26.8Mb
PDF (A4)
- 26.8Mb
INNODB_LOCKS
テーブルには、InnoDB
トランザクションが要求したがまだ取得されていない各ロックに関する情報と、別のトランザクションをブロックしているトランザクションが保持している各ロックに関する情報が含まれます。
表 21.5 INNODB_LOCKS のカラム
カラム名 | 説明 |
---|---|
LOCK_ID |
InnoDB 内部の一意のロック ID 番号。これは不明瞭な文字列として扱ってください。LOCK_ID には現在、TRX_ID が含まれますが、LOCK_ID 内のデータの形式は今後のリリースでも同じである保証はありません。LOCK_ID 値を解析するプログラムを作成しないでください。 |
LOCK_TRX_ID |
このロックを保持するトランザクションの ID。トランザクションに関する詳細は、TRX_ID で INNODB_TRX と結合すると参照できます。 |
LOCK_MODE |
ロックのモード。S 、X 、IS 、IX 、S_GAP 、X_GAP 、IS_GAP 、IX_GAP 、または AUTO_INC のいずれかになり、それぞれ共有、排他的、インテンション共有、インテンション排他的行ロック、共有および排他的ギャップロック、インテンション共有およびインテンション排他的ギャップロック、および自動インクリメントテーブルレベルロックを表します。InnoDB ロックに関する情報については、セクション14.2.3「InnoDB のロックモード」およびセクション14.2.2「InnoDB のトランザクションモデルおよびロック」のセクションを参照してください。 |
LOCK_TYPE |
ロックのタイプ。RECORD または TABLE のいずれかで、それぞれレコード (行) レベル、テーブルレベルのロックを表します。 |
LOCK_TABLE |
ロックされているテーブルか、ロックされたレコードを含むテーブルの名前。 |
LOCK_INDEX |
LOCK_TYPE='RECORD' の場合はインデックスの名前、それ以外の場合は NULL 。 |
LOCK_SPACE |
LOCK_TYPE='RECORD' の場合はロックされたレコードのテーブルスペース ID、それ以外の場合は NULL 。 |
LOCK_PAGE |
LOCK_TYPE='RECORD' の場合はロックされたレコードのページ番号、それ以外の場合は NULL 。 |
LOCK_REC |
LOCK_TYPE='RECORD' の場合はページ内のロックされたレコードのヒープ番号、それ以外の場合は NULL 。 |
LOCK_DATA |
LOCK_TYPE='RECORD' の場合はロックされたレコードの主キー値、それ以外の場合は NULL 。このカラムには、ロックされた行の主キーカラムの値が含まれ、有効な SQL 文字列として書式設定されています (SQL コマンドにコピーできるようになっています)。主キーがない場合、InnoDB 内部の一意の行 ID 番号が使用されます。インデックスの最大値を超えるキー値または範囲に対してギャップロックが行われた場合、LOCK_DATA は「supremum pseudo-record」とレポートします。ロックされたレコードを含むページがバッファープール内に存在しない場合 (ロックが保持されていた間にディスクにページアウトされた場合)、InnoDB は、不要なディスク操作を回避するするために、ディスクからページをフェッチしません。代わりに、LOCK_DATA が NULL に設定されます。 |
例:
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS \G
*************************** 1. row ***************************
lock_id: 3723:72:3:2
lock_trx_id: 3723
lock_mode: X
lock_type: RECORD
lock_table: `mysql`.`t`
lock_index: PRIMARY
lock_space: 72
lock_page: 3
lock_rec: 2
lock_data: 1, 9
*************************** 2. row ***************************
lock_id: 3722:72:3:2
lock_trx_id: 3722
lock_mode: S
lock_type: RECORD
lock_table: `mysql`.`t`
lock_index: PRIMARY
lock_space: 72
lock_page: 3
lock_rec: 2
lock_data: 1, 9
2 rows in set (0.01 sec)
注:
このテーブルを使用すると、負荷の大きな同時ロードの時間中に生じるパフォーマンスの問題の診断に役立ちます。その内容は、セクション14.14.2.3「InnoDB トランザクションおよびロックテーブルのデータ永続性および一貫性」で説明しているように更新されます。
DESCRIBE
またはSHOW COLUMNS
を使用して、データ型とデフォルト値を含む、このテーブルのカラムに関する追加情報を表示します。このテーブルをクエリーするには
PROCESS
権限が必要です。使用法については、セクション14.14.2.1「InnoDB トランザクションおよびロックテーブルの使用例」を参照してください。