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.42 ndbinfo locks_per_fragment 表

locks_per_fragment 表提供了锁定请求计数信息和这些请求的结果,按碎片基础上进行统计,这个表是operations_per_fragmentmemory_per_fragment的伴随表。此外,该表还显示自碎片或表创建以来,或者自最近一次重启以来,成功和失败等待锁定的总时间。

locks_per_fragment 表包含以下列:

  • fq_name

    完全限定表名

  • parent_fq_name

    父对象的完全限定名称

  • type

    表类型;见文本中可能的值

  • table_id

    表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/name,例如 test/def/t1sys/def/10/b$unique

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

table_id 是由 NDB 生成的表的内部 ID。这与其他 ndbinfo 表中的内部表 ID相同,也可以在 ndb_show_tables 的输出中看到。

type 列显示表的类型。这总是其中之一:System tableUser 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_oksh_wait_fail都表示自表或碎片创建以来,或者自最后一次节点重启以来 whichever of these occurred later 的累积请求次数。这也适用于wait_ok_milliswait_fail_millis列中的时间值。

每个锁定请求都被认为是在进行中,或者已经以某种方式完成(即成功或失败)。这意味着以下关系是正确的:

ex_req >= (ex_req_imm_ok + ex_wait_ok + ex_wait_fail)

sh_req >= (sh_req_imm_ok + sh_wait_ok + sh_wait_fail)

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

[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)

一个失败的等待表示事务被中止,但中止可能是锁定等待超时引起的。你可以像这样获得等待锁定的总数 Abort:

[aborts while waiting for locks] = ex_wait_fail + sh_wait_fail