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_instanceLDM 实例 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