MySQL 8.0 リファレンスマニュアル


23.5.14.32 ndbinfo locks_per_fragment テーブル

locks_per_fragment テーブルには、operations_per_fragment および memory_per_fragment へのコンパニオンテーブルとして機能する、ロック要求リクエストの数およびこれらのリクエストの結果に関する情報がフラグメント単位で表示されます。 このテーブルには、フラグメントまたはテーブルの作成以降、または最後の再起動以降にロックの待機に成功した時間と失敗した時間の合計も表示されます。

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

  • fq_name

    完全修飾テーブル名

  • parent_fq_name

    親オブジェクトの完全修飾名

  • type

    テーブルタイプ。使用可能な値についてはテキストを参照してください

  • table_id

    テーブル ID

  • node_id

    レポートノード ID

  • block_instance

    LDM インスタンス ID

  • fragment_num

    フラグメント識別子

  • ex_req

    排他ロックリクエストが開始されました

  • ex_imm_ok

    排他ロック要求がすぐに付与されました

  • ex_wait_ok

    待機後に付与された排他ロックリクエスト

  • ex_wait_fail

    排他ロックリクエストが付与されていません

  • sh_req

    共有ロック要求が開始されました

  • sh_imm_ok

    共有ロックリクエストがすぐに付与されました

  • sh_wait_ok

    次の待機後に許可される共有ロックリクエスト

  • sh_wait_fail

    共有ロックリクエストが付与されていません

  • wait_ok_millis

    付与されたロックリクエストの待機にかかった時間 (ミリ秒)

  • wait_fail_millis

    失敗したロックリクエストの待機時間 (ミリ秒)

メモ

block_instance は、カーネルブロックのインスタンスを指します。 この番号は、ブロック名とともに使用して、threadblocks テーブル内の特定のインスタンスを検索できます。

fq_name は、test/def/t1sys/def/10/b$unique など、database / schema / name 形式の完全修飾データベースオブジェクト名です。

parent_fq_name は、このオブジェクト親オブジェクト (テーブル) の完全修飾名です。

table_id は、NDB によって生成されるテーブルの内部 ID です。 これは、他の ndbinfo テーブルに表示されるのと同じ内部テーブル ID で、ndb_show_tables の出力にも表示されます。

type カラムには、テーブルのタイプが表示されます。 これは常に System table, User table, Unique hash index, Hash index, Unique ordered index, Ordered index, Hash index trigger, Subscription trigger, Read only constraint, Index trigger, Reorganize trigger, Tablespace, Log file group, Data file, Undo file, Hash map, Foreign key definition, Foreign key parent trigger, Foreign key child trigger または Schema transaction のいずれかです。

ex_req, ex_req_imm_ok, ex_wait_ok, ex_wait_fail, sh_req, sh_req_imm_ok, sh_wait_ok および sh_wait_fail のすべてのカラムに表示される値は、テーブルまたはフラグメントが作成されてから、またはこのノードが最後に再起動されてからのいずれか後で発生したリクエストの累積数をテーブルします。 これは、wait_ok_millis カラムおよび wait_fail_millis カラムに表示される時間値にも当てはまります。

すべてのロックリクエストは、進行中であるか、なんらかの方法 (成功または失敗) で完了したとみなされます。 これは、次の関係が真であることを意味します:

ex_req >= (ex_req_imm_ok + ex_wait_ok + ex_wait_fail)

sh_req >= (sh_req_imm_ok + sh_wait_ok + sh_wait_fail)

現在進行中のリクエストの数は、次に示すように、不完全なリクエストの現在の数です:

[exclusive lock requests in progress] =
    ex_req - (ex_req_imm_ok + ex_wait_ok + ex_wait_fail)

[shared lock requests in progress] =
    sh_req - (sh_req_imm_ok + sh_wait_ok + sh_wait_fail)

失敗した待機は中断されたトランザクションを示しますが、中断はロック待機タイムアウトによって発生する場合と発生しない場合があります。 次に示すように、ロック待機中の中断の合計数を取得できます:

[aborts while waiting for locks] = ex_wait_fail + sh_wait_fail

関連キーワード:  NDB, テーブル, ndbinfo, ndb, wait, ノード, ロック, リクエスト, 構成, 管理