MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む
このページは機械翻訳したものです。
cluster_locks テーブルは NDB Cluster 内の NDB テーブルのロックを保持および待機している現在のロックリクエストに関する情報を提供し、cluster_operations へのコンパニオンテーブルとして使用されます。 cluster_locks テーブルから取得した情報は、ストールおよびデッドロックの調査に役立つ場合があります。
cluster_locks テーブルには、次のカラムがあります:
node_id
レポートノードの ID
block_instance
レポート LDM インスタンスの ID
tableid
この行を含むテーブルの ID
fragmentid
ロックされた行を含むフラグメントの ID
rowid
ロックされた行の ID
transid
トランザクション ID
mode
ロックリクエストモード
state
ロック状態
detail
これが行ロックキューで最初にロックを保持しているかどうか
op
操作タイプ
duration_millis
ロックの待機または保持にかかったミリ秒
lock_num
ロックオブジェクトの ID
waiting_for
この ID のロックを待機中
テーブル ID (tableid カラム) は内部的に割り当てられ、他の ndbinfo テーブルで使用されているものと同じです。 また、ndb_show_tables の出力にも表示されます。
トランザクション ID (transid カラム) は、NDB API によって生成された、現在のロックを要求または保持しているトランザクションの識別子です。
mode カラムにはロックモードが表示されます。これは常に、S (共有ロックを示す) または X (排他ロック) のいずれかです。 トランザクションが特定の行の排他ロックを保持している場合、その行の他のすべてのロックは同じトランザクション ID を持ちます。
state カラムにはロック状態が表示されます。 その値は、常に H (保持) または W (待機) のいずれかです。 待機中のロックリクエストは、別のトランザクションによって保持されているロックを待機します。
detail カラムに * (アスタリスク文字) が含まれている場合、これは、このロックが影響を受ける行ロックキューの最初の保持ロックであることを意味します。それ以外の場合、このカラムは空です。 この情報は、ロックリクエストのリスト内の一意のエントリを識別するのに役立ちます。
op カラムには、ロックをリクエストしている操作のタイプが表示されます。 これは常に、READ, INSERT, UPDATE, DELETE, SCAN または REFRESH のいずれかの値です。
duration_millis カラムには、このロックリクエストがロックを待機または保持しているミリ秒数が表示されます。 待機中のリクエストに対してロックが付与されると、これは 0 にリセットされます。
ロック ID (lockid カラム) は、このノードおよびブロックインスタンスに対して一意です。
ロック状態は lock_state カラムに表示されます。これが W の場合、ロックは付与を待機しており、waiting_for カラムには、このリクエストが待機しているロックオブジェクトのロック ID が表示されます。 それ以外の場合、waiting_for カラムは空です。waiting_for は、node_id, block_instance, tableid, fragmentid および rowid で識別される同じ行のロックのみを参照できます。