Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

25.6.17.42 ndbinfo 锁定每个片段表

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 是表的内部 ID,由 NDB 生成。这是其他 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 代表从表或碎片创建以来或从该节点最后一次重新启动以来的累积请求数,两者中较晚的那个。这也适用于 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)

失败的等待表示事务中止,但中止可能不是由锁等待超时引起的。您可以按如下方式获取锁等待期间的总中止数:

[aborts while waiting for locks] = ex_wait_fail + sh_wait_fail