#### 23.6.14.53 ndbinfo 服务器\_锁表

[](<>)

这`server_locks`表的结构类似于`集群锁`表，并提供在后一个表中找到的信息的子集，但特定于它所在的 SQL 节点（MySQL 服务器）。（这`集群锁`表提供有关集群中所有锁的信息。）更准确地说，`server_locks`包含有关属于当前线程请求的锁的信息[**mysqld**](mysqld.html)实例，并用作伴随表[`服务器操作`](mysql-cluster-ndbinfo-server-operations.html).这对于将锁定模式与特定的 MySQL 用户会话、查询或用例关联起来可能很有用。

这`server_locks`表包含以下列：

-   `mysql_connection_id`

    MySQL 连接 ID

-   `node_id`

    上报节点ID

-   `块实例`

    上报 LDM 实例 ID

-   `tableid`

    包含该行的表的 ID

-   `片断`

    包含锁定行的片段 ID

-   `行号`

    锁定行ID

-   `过境`

    交易编号

-   `模式`

    锁请求模式

-   `状态`

    锁定状态

-   `细节`

    这是否是第一个在行锁队列中持有锁

-   `操作`

    操作类型

-   `持续时间_毫秒`

    等待或持有锁所花费的毫秒数

-   `lock_num`

    锁对象ID

-   `等待`

    正在等待使用此 ID 锁定

##### 笔记

这`mysql_connection_id`列显示 MySQL 连接或线程 ID，如下所示[`显示进程列表`](show-processlist.html).

`块实例`指的是内核块的一个实例。与块名称一起，此编号可用于在[`线程块`](mysql-cluster-ndbinfo-threadblocks.html)桌子。

这`tableid`分配给表`新开发银行`;此表在其他中使用相同的 ID`ndbinfo`表，以及在输出[**数据库\_显示\_表**](mysql-cluster-programs-ndb-show-tables.html).

交易ID显示在`过境`column 是 NDB API 为请求或持有当前锁的事务生成的标识符。

这`模式`列显示锁定模式，它始终是其中之一`小号`（共享锁）或`X`（排他锁）。如果事务在给定行上具有排他锁，则该行上的所有其他锁都具有相同的事务 ID。

这`状态`列显示锁定状态。它的价值始终是其中之一`H`（持有）或`W`（等待）。等待锁请求等待由不同事务持有的锁。

这`细节`列指示此锁是否是受影响行的锁队列中的第一个持有锁，在这种情况下，它包含一个`*`（星号字符）；否则，此列为空。此信息可用于帮助识别锁定请求列表中的唯一条目。

这`操作`列显示请求锁定的操作类型。这始终是价值之一`读`,`插入`,`更新`,`删除`,`扫描`， 要么`刷新`.

这`持续时间_毫秒`列显示此锁请求已等待或持有锁的毫秒数。当为等待请求授予锁定时，此值将重置为 0。

锁 ID (`锁定ID`column) 对这个节点和块实例是唯一的。

如果`锁定状态`列的值为`W`，这个锁正在等待被授予，并且`等待`列显示此请求正在等待的锁定对象的锁定 ID。否则，`等待`是空的。`等待`只能引用同一行上的锁（由`node_id`,`块实例`,`tableid`,`片断`， 和`行号`）。
