ndbinfo locks_per_fragment表
该locks_per_fragment
表提供了有关锁定要求的请求数,以及每个片段基础上,这些请求的结果信息,作为一个伴侣表operations_per_fragment
和memory_per_fragment
。该表还显示了从创建片段或表或自从最近重新启动以来成功和不成功地等待锁所花费的总时间。
下表提供有关表中各列的信息locks_per_fragment
。该表为每一列显示名称,数据类型和简要说明。可以在表格后面的注释中找到其他信息。
locks_per_fragment表的列
栏名 | 类型 | 描述 |
---|---|---|
fq_name | string | 完全限定的表名 |
parent_fq_name | string | 父对象的全限定名称 |
type | string | 表类型;请参阅文字以获取可能的值 |
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
。这与其他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