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