MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

27.12.13.2 data_lock_waits テーブル

data_lock_waits テーブルには、data_locks テーブルのどのデータロックリクエストが data_locks テーブルのどのデータロックによってブロックされているかを示す多対多関係が実装されています。 data_locks で保持されているロックは、ロックリクエストがブロックされている場合にのみ data_lock_waits に表示されます。

この情報を使用すると、セッション間のデータロックの依存性を理解できます。 テーブルには、セッションまたはトランザクションが待機しているロックだけでなく、そのロックを現在保持しているセッションまたはトランザクションが表示されます。

データロック待機情報の例:

mysql> SELECT * FROM performance_schema.data_lock_waits\G
*************************** 1. row ***************************
                          ENGINE: INNODB
       REQUESTING_ENGINE_LOCK_ID: 140211201964816:2:4:2:140211086465800
REQUESTING_ENGINE_TRANSACTION_ID: 1555
            REQUESTING_THREAD_ID: 47
             REQUESTING_EVENT_ID: 5
REQUESTING_OBJECT_INSTANCE_BEGIN: 140211086465800
         BLOCKING_ENGINE_LOCK_ID: 140211201963888:2:4:2:140211086459880
  BLOCKING_ENGINE_TRANSACTION_ID: 1554
              BLOCKING_THREAD_ID: 46
               BLOCKING_EVENT_ID: 12
  BLOCKING_OBJECT_INSTANCE_BEGIN: 140211086459880

ほとんどのパフォーマンススキーマデータ収集とは異なり、データロック情報を収集するか、データロックテーブルのサイズを制御するためのシステム変数を制御するためのインストゥルメントはありません。 パフォーマンススキーマは、サーバーですでに使用可能な情報を収集するため、この情報を生成したり、その収集を制御するパラメータを必要とするメモリーまたは CPU のオーバーヘッドはありません。

data_lock_waits テーブルを使用すると、負荷が高いときに発生するパフォーマンスの問題の診断に役立ちます。 InnoDB については、セクション15.15.2「InnoDB INFORMATION_SCHEMA トランザクションおよびロック情報」 でこのトピックの説明を参照してください。

data_lock_waits テーブルのカラムは data_locks テーブルのカラムと似ているため、ここでのカラムの説明は省略されています。 カラムの詳細は、セクション27.12.13.1「data_locks テーブル」 を参照してください。

data_lock_waits テーブルには、次のカラムがあります:

data_lock_waits テーブルには次のインデックスがあります:

TRUNCATE TABLE は、data_lock_waits テーブルに対して許可されていません。