• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ndbinfo server_locks表

    server_locks表的结构类似于cluster_locks表,并提供了在后一个表中找到的信息的子集,但特定于该表所驻留的SQL节点(MySQL服务器)。(该cluster_locks表提供了有关集群中所有锁的信息。)更准确地说,它server_locks包含有关属于当前mysqld实例的线程所请求的锁的信息,并用作的伴随表server_operations。这对于将锁定模式与特定的MySQL用户会话,查询或用例相关联可能很有用。

    下表提供有关表中各列的信息server_locks。该表为每一列显示名称,数据类型和简要说明。可以在表格后面的注释中找到其他信息。

    server_locks表的列

    栏名类型描述
    mysql_connection_id整数MySQL连接ID
    node_id整数报告节点的ID
    block_instance整数报告LDM实例的ID
    tableid整数包含该行的表的ID
    fragmentid整数包含锁定行的片段的ID
    rowid整数锁定行的ID
    transid整数交易编号
    modestring锁定请求模式
    statestring锁定状态
    detailstring这是否是第一个在行锁队列中持有锁
    opstring操作类型
    duration_millis整数等待或保持锁定所花费的毫秒数
    lock_num整数锁对象的ID
    waiting_for整数等待具有此ID的锁定

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

    block_instance指内核块的实例。连同块名一起,该数字可用于在threadblocks表中查找给定的实例。

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

    transid列中显示的交易ID 是NDB API为请求或持有当前锁的交易生成的标识符。

    mode列显示锁定模式,该模式始终是S(共享锁)或X(独占锁)之一。如果事务在给定行上具有排他锁,则该行上的所有其他锁都具有相同的事务ID。

    state列显示锁定状态。它的值始终是H(持有)或W(正在等待)之一。等待锁请求等待另一个事务持有的锁。

    detail列指示此锁是否是受影响的行的锁队列中的第一个保持锁,在这种情况下,它包含*(星号);否则,此列为空。此信息可用于帮助识别锁定请求列表中的唯一条目。

    op列显示请求锁定的操作类型。这始终是一个值READINSERTUPDATEDELETESCAN,或REFRESH

    duration_millis列显示此锁定请求已等待或持有锁定的毫秒数。当为等待的请求授予锁时,此位将重置为0。

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

    如果该lock_state列的值为W,则等待授予该锁,并且该waiting_for列显示此请求正在等待的锁对象的锁ID。否则waiting_for为空。waiting_for可以仅指在同一行上的锁(如通过鉴定node_idblock_instancetableidfragmentid,和rowid)。