文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (美国信纸) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


25.6.17.54 ndbinfo server_locks 表

server_locks 表在结构上与 cluster_locks 表类似,并提供后者表中找到的信息的子集,但这些信息特定于其所在的 SQL 节点 (MySQL 服务器)。(cluster_locks 表提供有关集群中所有锁的信息。) 更确切地说,server_locks 包含有关当前 mysqld 实例的线程请求的锁的信息,并用作 server_operations 的辅助表。这对于将锁定模式与特定的 MySQL 用户会话、查询或用例相关联可能很有用。

server_locks 表包含以下列

  • mysql_connection_id

    MySQL 连接 ID

  • 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 的锁

备注

mysql_connection_id 列显示 MySQL 连接或线程 ID,如 SHOW PROCESSLIST 所示。

block_instance 指的是内核块的实例。结合块名称,可以使用此数字在 threadblocks 表中查找给定实例。

tableidNDB 分配给表;在其他 ndbinfo 表以及 ndb_show_tables 的输出中,此表使用相同的 ID。

transid 列中显示的事务 ID 是 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 来识别)。