Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

25.6.17.49 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 tableUser tableUnique hash indexOrdered indexBLOB 表显示为 User table

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

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

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

由于 NDB 不使用单键访问有序索引,因此 tot_key_readstot_key_insertstot_key_updatestot_key_writestot_key_deletes 计数不会因有序索引操作而增加。

Note

使用 tot_key_writes 时,需要注意写操作在此上下文中更新行如果键存在,否则插入新行。(一个使用是 NDB 实现 REPLACE SQL 语句。)

tot_key_refs 列显示 LDM 拒绝的键操作次数。通常,这种拒绝是由于重复键(插入)、Key not found 错误(更新、删除和读取)或操作被解释程序所拒绝的行匹配键。

attrinfokeyinfo 属性由 tot_key_attrinfo_bytestot_key_keyinfo_bytes 列计数,是 LQHKEYREQ 信号(见 The NDB Communication Protocol)用于启动键操作的 LDM。一个 attrinfo 通常包含元组字段值(插入和更新)或投影规范(读取);keyinfo 包含用于定位给定元组的主键或唯一键。

tot_frag_scans 值包括完整扫描(检查每一行)和子集扫描。唯一索引和 BLOB 表从不扫描,因此该值对于这些片段副本总是 0。

tot_scan_rows_examined 可能小于给定片段副本中的总行数,因为有序索引扫描可以被边界限制。此外,客户端可能在所有潜在匹配行都被检查之前结束扫描;这在使用包含 LIMITEXISTS 子句的 SQL 语句时发生。tot_scan_rows_returned 总是小于或等于 tot_scan_rows_examined

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

tot_qd_frag_scans 可以受到 MaxParallelScansPerFragment 数据节点配置参数的设置影响,该参数限制了单个片段副本上可以并发执行的扫描数。