Documentation Home

18.6.15.19 ndbinfo operations_per_fragment 表

operations_per_fragment表提供有关对单个片段和片段副本执行的操作的信息,以及有关这些操作的一些结果的信息。

operations_per_fragment表包含以下列:

  • fq_name

    此片段的名称

  • parent_fq_name

    此片段父级的名称

  • type

    对象类型;请参阅文本了解可能的值

  • table_id

    此表的表 ID

  • node_id

    此节点的节点 ID

  • block_instance

    内核块实例 ID

  • fragment_num

    片段 ID(编号)

  • tot_key_reads

    此片段副本的密钥读取总数

  • tot_key_inserts

    此片段副本的密钥插入总数

  • tot_key_updates

    此片段副本的密钥更新总数

  • tot_key_writes

    此片段副本的键写入总数

  • tot_key_deletes

    此片段副本的键删除总数

  • tot_key_refs

    按键操作数被拒绝

  • tot_key_attrinfo_bytes

    attrinfo所有属性 的总大小

  • tot_key_keyinfo_bytes

    keyinfo所有属性 的总大小

  • tot_key_prog_bytes

    attrinfo属性 携带的所有解释程序的总大小

  • tot_key_inst_exec

    关键操作的解释程序执行的指令总数

  • tot_key_bytes_returned

    从关键读取操作返回的所有数据和元数据的总大小

  • tot_frag_scans

    对该片段副本执行的扫描总数

  • tot_scan_rows_examined

    扫描检查的总行数

  • tot_scan_rows_returned

    返回给客户端的总行数

  • tot_scan_bytes_returned

    返回给客户端的数据和元数据的总大小

  • tot_scan_prog_bytes

    用于扫描操作的解释程序的总大小

  • tot_scan_bound_bytes

    有序索引扫描中使用的所有边界的总大小

  • tot_scan_inst_exec

    为扫描执行的指令总数

  • tot_qd_frag_scans

    此片段副本的扫描已排队的次数

  • conc_frag_scans

    此片段副本上当前活动的扫描数(不包括排队扫描)

  • conc_qd_frag_scans

    当前为此片段副本排队的扫描数

  • tot_commits

    提交到此片段副本的行更改总数

笔记

fq_name包含此片段副本所属的架构对象的完全限定名称 。目前有以下格式:

  • 基表: DbName/def/TblName

  • BLOB桌子: DbName/def/NDB$BLOB_BaseTblId_ColNo

  • 有序指数: sys/def/BaseTblId/IndexName

  • 唯一索引: sys/def/BaseTblId/IndexName$unique

为唯一索引显示的$unique后缀由mysqld添加;对于由不同的 NDB API 客户端应用程序创建的索引,这可能不同,或者不存在。

刚刚显示的完全限定对象名称的语法是一个内部接口,在未来的版本中可能会发生变化。

考虑t1由以下 SQL 语句创建和修改的表:

CREATE DATABASE mydb;

USE mydb;

CREATE TABLE t1 (
  a INT NOT NULL,
  b INT NOT NULL,
  t TEXT NOT NULL,
  PRIMARY KEY (b)
) ENGINE=ndbcluster;

CREATE UNIQUE INDEX ix1 ON t1(b) USING HASH;

如果t1分配的表 ID 为 11,则会产生fq_name此处显示的值:

  • 基表:mydb/def/t1

  • BLOB桌子: mydb/def/NDB$BLOB_11_2

  • 有序索引(主键): sys/def/11/PRIMARY

  • 唯一索引:sys/def/11/ix1$unique

对于索引或BLOB表,该 parent_fq_name列包含 fq_name相应基表的。对于基表,此列始终为NULL

type列显示了用于此片段的模式对象类型,它可以采用 、 、 或 中的 System table任何User table一个 Unique hash indexOrdered indexBLOB表显示为 User table

table_id值在任何给定时间都是唯一的,但如果相应的对象已被删除,则可以重复使用。使用ndb_show_tables实用程序 可以看到相同的 ID 。

block_instance列显示此片段副本属于哪个 LDM 实例。您可以使用它从表中获取有关特定线程的信息 threadblocks。第一个这样的实例总是编号为 0。

由于通常有两个片段副本,并且假设是这样,每个fragment_num值应该在表中出现两次,在来自同一节点组的两个不同数据节点上。

由于NDB不对有序索引使用单键访问,因此 、 、 、 和 的计数 tot_key_reads不会 tot_key_insertstot_key_updates有序 tot_key_writes索引 tot_key_deletes操作而增加。

笔记

使用 时tot_key_writes,您应该记住,如果键存在,此上下文中的写操作会更新行,否则会插入新行。(它的一个用途是在SQL 语句 的NDB执行中 。)REPLACE

tot_key_refs列显示 LDM 拒绝的键操作数。通常,此类拒绝是由于重复键(插入)、未找到键错误(更新、删除和读取),或者操作被用作与键匹配的行的谓词的解释程序拒绝。

由和 列 计数的 和attrinfo属性是信号的属性(请参阅 NDB 通信协议),用于启动 LDM 的键操作。An 通常包含元组字段值(插入和更新)或投影规范(用于读取); 包含在此模式对象中定位给定元组所需的主键或唯一键。 keyinfotot_key_attrinfo_bytestot_key_keyinfo_bytesLQHKEYREQattrinfokeyinfo

显示的值tot_frag_scans包括完整扫描(检查每一行)和子集扫描。唯一索引和BLOB表从不被扫描,所以这个值,像其他扫描相关的计数一样,对于这些的片段副本是 0。

tot_scan_rows_examined可能显示少于给定片段副本中的总行数,因为有序索引扫描可能受边界限制。此外,客户端可以选择在检查完所有可能匹配的行之前结束扫描;例如,当使用包含LIMITor EXISTS子句的 SQL 语句时会发生这种情况。 tot_scan_rows_returned总是小于或等于tot_scan_rows_examined

tot_scan_bytes_returned在推送连接的情况下,包括返回到 DBSPJNDB 内核中的块的投影。

tot_qd_frag_scans可以通过 MaxParallelScansPerFragment 数据节点配置参数的设置来影响,它限制了可以在单个片段副本上同时执行的扫描数量。