文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


25.6.17.42 ndbinfo locks_per_fragment 表

locks_per_fragment 表提供关于每个片段的锁请求次数以及这些请求结果的信息,作为 operations_per_fragment 和 memory_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/t1 或 sys/def/10/b$unique。

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

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

type 列显示表的类型。这始终是以下之一:System table、User table、Unique hash index、Hash index、Unique ordered index、Ordered index、Hash index trigger、Subscription trigger、Read only constraint、Index trigger、Reorganize trigger、Tablespace、Log file group、Data file、Undo file、Hash map、Foreign key definition、Foreign key parent trigger、Foreign key child trigger 或 Schema transaction。

所有列 ex_req、ex_req_imm_ok、ex_wait_ok、ex_wait_fail、sh_req、sh_req_imm_ok、sh_wait_ok 和 sh_wait_fail 中显示的值表示自表或片段创建以来或自该节点上次重启以来(以最后发生的为准)的累计请求次数。这同样适用于 wait_ok_millis 和 wait_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