Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


25.6.17.54 NDBinfo server_locks 表

server_locks 表的结构与cluster_locks 表相似,但它提供了后者中的一部分信息,但是这些信息是特定的当前 MySQL 服务器(mysqld 实例)所在的 SQL 节点上。(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

    锁定请求模式

  • 状态

    锁定状态

  • 详细信息

    是否是锁定队列中的第一个持有锁定的行锁定

  • 操作类型

    操作类型

  • 等待或持有锁定毫秒数

    等待或持有锁定的毫秒数

  • 锁定对象ID

    锁定对象的ID

  • 等待锁定ID

    等待锁定的ID

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

block_instance 指的是内核块的实例。与块名称一起,这个数字可以用来在 threadblocks 表中查找给定的实例。

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

transid 列中的事务 ID 是 NDB API 为请求或持有当前锁定的事务生成的标识符。

模式列显示锁定的模式,这总是其中之一:S(共享锁)或X(排他锁)。如果事务对某行拥有排他锁,那么该行上的所有其他锁都具有相同的事务ID。

状态列显示锁定的状态,其值总是其中之一:H(持有)或W(等待)。等待锁请求等待由不同事务持有的锁。

详细列指示是否这是受影响行的锁队列中的第一个持有锁,在这种情况下,它包含一个*(星号字符);否则,这个列为空。这项信息可以用来帮助识别锁请求列表中的唯一条目。

操作列显示请求锁定的操作类型,这总是其中之一:READINSERTUPDATEDELETESCANREFRESH

持续时间毫秒列显示这个锁请求已经等待或持有锁的毫秒数。这在授予等待请求时重置为0。

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

如果 lock_state 列的值为 W,则该锁正在等待被授予,并且 waiting_for 列显示了该请求正在等待的锁对象的锁 ID。否则,waiting_for为空。waiting_for 只能引用同一行上的锁(根据 node_idblock_instancetableidfragmentidrowid 标识)。