MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む
このページは機械翻訳したものです。
INNODB_LOCKS テーブルには、InnoDB トランザクションがリクエストしたがまだ取得していない各ロックと、別のトランザクションをブロックしているトランザクションが保持している各ロックに関する情報が表示されます。
このテーブルは非推奨で、MySQL 8.0.1 の時点で削除されています。 代わりに、パフォーマンススキーマ data_locks テーブルを使用してください。 セクション27.12.13.1「data_locks テーブル」を参照してください。
INNODB_LOCKS と data_locks の相違点:
トランザクションがロックを保持している場合、INNODB_LOCKS は、別のトランザクションがロックを待機している場合にのみロックを表示します。data_locks では、トランザクションが待機しているかどうかに関係なく、ロックが表示されます。
data_locks テーブルには、LOCK_SPACE、LOCK_PAGE または LOCK_REC に対応するカラムはありません。
INNODB_LOCKS テーブルには、グローバル PROCESS 権限が必要です。 data_locks テーブルには、選択元のテーブルに対する SELECT の通常のパフォーマンススキーマ権限が必要です。
次のテーブルに、INNODB_LOCKS カラムから data_locks カラムへのマッピングを示します。 この情報を使用して、あるテーブルから別のテーブルにアプリケーションを移行します。
表 26.4 INNODB_LOCKS から data_locks カラムへのマッピング
| INNODB_LOCKS カラム | data_locks カラム |
|---|---|
LOCK_ID |
ENGINE_LOCK_ID |
LOCK_TRX_ID |
ENGINE_TRANSACTION_ID |
LOCK_MODE |
LOCK_MODE |
LOCK_TYPE |
LOCK_TYPE |
LOCK_TABLE (スキーマ名とテーブル名の組合せ) |
OBJECT_SCHEMA (スキーマ名)、OBJECT_NAME (テーブル名) |
LOCK_INDEX |
INDEX_NAME |
LOCK_SPACE |
なし |
LOCK_PAGE |
なし |
LOCK_REC |
なし |
LOCK_DATA |
LOCK_DATA |