Documentation Home

21.6.15.22 ndbinfo locks_per_fragment 表

locks_per_fragment表提供有关锁声明请求计数的信息,以及基于每个片段的这些请求的结果,作为 和 的配套 operations_per_fragmentmemory_per_fragment。该表还显示了自片段或表创建以来或自最近一次重启以来等待锁定成功和失败所花费的总时间。

locks_per_fragment表包含以下列:

  • fq_name

    完全限定的表名

  • parent_fq_name

    父对象的完全限定名称

  • type

    表格类型;请参阅文本了解可能的值

  • table_id

    表格编号

  • node_id

    报告节点 ID

  • block_instance

    LDM 实例 ID

  • fragment_num

    片段标识符

  • ex_req

    独占锁请求开始

  • ex_imm_ok

    立即授予排他锁请求

  • ex_wait_ok

    等待后授予排他锁请求

  • ex_wait_fail

    独占锁请求未被授予

  • sh_req

    共享锁请求开始

  • sh_imm_ok

    立即授予共享锁请求

  • sh_wait_ok

    等待后授予共享锁请求

  • sh_wait_fail

    未授予共享锁请求

  • wait_ok_millis

    等待授予的锁定请求所花费的时间,以毫秒为单位

  • wait_fail_millis

    等待失败的锁请求所花费的时间,以毫秒为单位

笔记

block_instance指的是内核块的实例。与块名称一起,此编号可用于在 threadblocks表中查找给定实例。

fq_name是 // 格式的完全限定数据库对象 database名称, 例如schema或。 nametest/def/t1sys/def/10/b$unique

parent_fq_name是此对象的父对象(表)的完全限定名称。

table_id是由 生成的表的内部 ID NDB。这与其他表中显示的内部表 ID 相同ndbinfo;它在 ndb_show_tables的输出中也可见。

type列显示表的类型。这 始终是System table,,,,,,,,,,,,,,,,,,,,,,,,,或之一。_ _ _ _ _ _ _ _ _ _ _ _ _ _ User tableUnique hash indexHash indexUnique ordered indexOrdered indexHash index triggerSubscription triggerRead only constraintIndex triggerReorganize triggerTablespaceLog file groupData fileUndo fileHash mapForeign key definitionForeign key parent triggerForeign key child triggerSchema transaction

所有列 ex_reqex_req_imm_okex_wait_okex_wait_failsh_reqsh_req_imm_oksh_wait_ok和 中显示的值sh_wait_fail表示自创建表或片段以来,或自上次重新启动此节点以来的累积请求数,以较晚发生的为准。wait_ok_millis对于和 wait_fail_millis列 中显示的时间值也是如此 。

每个锁定请求都被认为要么正在进行,要么以某种方式完成(即成功或失败)。这意味着以下关系为真:

Press CTRL+C to copy
ex_req >= (ex_req_imm_ok + ex_wait_ok + ex_wait_fail) sh_req >= (sh_req_imm_ok + sh_wait_ok + sh_wait_fail)

当前正在进行的请求数是当前未完成的请求数,可以在这里找到:

Press CTRL+C to copy
[exclusive lock requests in progress] = ex_req - (ex_req_imm_ok + ex_wait_ok + ex_wait_fail) [shared lock requests in progress] = sh_req - (sh_req_imm_ok + sh_wait_ok + sh_wait_fail)

等待失败表示事务中止,但中止可能是由锁等待超时引起的,也可能不是。您可以获得等待锁时的中止总数,如下所示:

Press CTRL+C to copy
[aborts while waiting for locks] = ex_wait_fail + sh_wait_fail

locks_per_fragment表是在 NDB 7.5.3 中添加的。