Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

25.6.17.7 ndbinfo 集群锁表

cluster_locks 表提供了 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 表中的 ID 相同,也显示在 ndb_show_tables 的输出中。

事务 ID (transid 列) 是 NDB API 生成的,用于请求或持有当前锁的事务的标识符。

mode 列显示锁模式;这始终是 S(表示共享锁)或 X(表示排他锁)。如果事务持有排他锁,则所有其他锁都具有相同的事务 ID。

state 列显示锁状态。其值始终是 H(表示持有)或 W(表示等待)。等待锁请求等待不同事务持有的锁。

detail 列包含 *(星号字符)时,这意味着该锁是受影响行的锁队列中的第一个持有锁;否则,该列为空。该信息可用于帮助标识锁请求列表中的唯一条目。

op 列显示请求锁的操作类型。该值始终是 READINSERTUPDATEDELETESCANREFRESH

duration_millis 列显示锁请求等待或持有的毫秒数。当锁被授予等待请求时,该值将重置为 0。

锁 ID (lockid 列) 在该节点和块实例中是唯一的。

锁状态显示在 lock_state 列中;如果该值是 W,则锁正在等待授予,并且 waiting_for 列显示该请求等待的锁对象的 ID。否则,waiting_for 列为空。waiting_for 只能引用同一行的锁,如由 node_idblock_instancetableidfragmentidrowid 标识。