该locks_per_fragment表提供有关锁声明请求计数的信息,以及基于每个片段的这些请求的结果,作为 和 的配套
operations_per_fragment表
memory_per_fragment。该表还显示了自片段或表创建以来或自最近一次重启以来等待锁定成功和失败所花费的总时间。
该locks_per_fragment表包含以下列:
fq_name完全限定的表名
parent_fq_name父对象的完全限定名称
type表格类型;请参阅文本了解可能的值
table_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或。
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_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
该locks_per_fragment表是在 NDB 7.5.3 中添加的。