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 列显示表类型。这始终是以下之一:系统表、用户表、唯一哈希索引、哈希索引、唯一有序索引、有序索引、哈希索引触发器、订阅触发器、只读约束、索引触发器、重组触发器、表空间、日志文件组、数据文件、撤消文件、哈希映射、外键定义、外键父触发器、外键子触发器 或 模式事务。
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