#### 23.6.14.48 ndbinfo 操作\_每\_片段表

[](<>)

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

这`operation_per_fragment`表包含以下列：

-   `fq_name`

    此片段的名称

-   `parent_fq_name`

    此片段的父级名称

-   `类型`

    对象类型；请参阅文本以获取可能的值

-   `table_id`

    此表的表 ID

-   `node_id`

    此节点的节点 ID

-   `块实例`

    内核块实例 ID

-   `片段编号`

    片段 ID（编号）

-   `tot_key_reads`

    此片段副本的键读取总数

-   `tot_key_inserts`

    此片段副本的键插入总数

-   `tot_key_updates`

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

-   `tot_key_writes`

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

-   `tot_key_deletes`

    此片段副本的键删除总数

-   `tot_key_refs`

    拒绝的关键操作数

-   `tot_key_attrinfo_bytes`

    所有的总大小`属性信息`属性

-   `tot_key_keyinfo_bytes`

    所有的总大小`关键信息`属性

-   `tot_key_prog_bytes`

    携带的所有解释程序的总大小`属性信息`属性

-   `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`

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

-   总\_提交

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

##### 笔记

这`fq_name`包含此片段副本所属的模式对象的完全限定名称。目前有以下格式：

-   基表：`*`数据库名称`*/定义/*`表名`*`

-   `斑点`桌子：`*`数据库名称`*/def/NDB$BLOB_*`BaseTblId`*_*`编号`*`

-   有序索引：`系统/定义/*`BaseTblId`*/*`索引名称`*`

-   唯一索引：`系统/定义/*`BaseTblId`*/*`索引名称`*$唯一`

    这`$独特的`为唯一索引显示的后缀由[**mysqld**](mysqld.html);对于由不同 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`

-   `斑点`桌子：`mydb/def/NDB$BLOB_11_2`

-   有序索引（主键）：`sys/def/11/PRIMARY`

-   唯一索引：`sys/def/11/ix1$unique`

    对于索引或`斑点`表`parent_fq_name`列包含`fq_name`对应的基表。对于基表，此列始终`空值`.

    这`类型`列显示了用于此片段的架构对象类型，它可以采用任何一个值`系统表`,`用户表`,`唯一哈希索引`， 要么`有序索引`.`斑点`表格显示为`用户表`.

    这`table_id`列值在任何给定时间都是唯一的，但如果相应的对象已被删除，则可以重用。相同的 ID 可以使用[**数据库\_显示\_表**](mysql-cluster-programs-ndb-show-tables.html)效用。

    这`块实例`列显示该片段副本属于哪个 LDM 实例。您可以使用它从[`线程块`](mysql-cluster-ndbinfo-threadblocks.html)桌子。第一个这样的实例总是编号为 0。

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

    自从`新开发银行`对有序索引不使用单键访问，计数为`tot_key_reads`,`tot_key_inserts`,`tot_key_updates`,`tot_key_writes`， 和`tot_key_deletes`不会由有序索引操作递增。

笔记

使用时`tot_key_writes`，您应该记住，如果键存在，则此上下文中的写入操作会更新行，否则插入新行。（其中一种用途是`新开发银行`的实施[`代替`](replace.html)SQL 语句。）

这`tot_key_refs`列显示 LDM 拒绝的键操作数。通常，这样的拒绝是由于重复的键（插入）、未找到键的错误（更新、删除和读取），或者操作被用作匹配键的行上的谓词的解释程序拒绝。

这`属性信息`和`关键信息`统计的属性`tot_key_attrinfo_bytes`和`tot_key_keyinfo_bytes`列是一个属性`LQHKEYREQ`信号（见[NDB 通信协议](https://dev.mysql.com/doc/ndb-internals/en/ndb-internals-ndb-protocol.html)) 用于启动 LDM 的键操作。一个`属性信息`通常包含元组字段值（插入和更新）或投影规范（用于读取）；`关键信息`包含在此模式对象中定位给定元组所需的主键或唯一键。

显示的值`tot_frag_scans`包括完整扫描（检查每一行）和子集扫描。唯一索引和`斑点`表永远不会被扫描，因此与其他与扫描相关的计数一样，对于这些表的片段副本，此值为 0。

`tot_scan_rows_examined`可能显示的行数少于给定片段副本中的总行数，因为有序索引扫描可能受边界限制。此外，客户端可以选择在检查所有可能匹配的行之前结束扫描；当使用包含`限制`要么`存在`条款，例如。`tot_scan_rows_returned`总是小于或等于`tot_scan_rows_examined`.

`tot_scan_bytes_returned`在推送连接的情况下，包括返回到[`DBSPJ`](https://dev.mysql.com/doc/ndb-internals/en/ndb-internals-kernel-blocks-dbspj.html)NDB内核中的块。

`tot_qd_frag_scans`可以通过设置的影响[`MaxParallelScansPerFragment`](mysql-cluster-ndbd-definition.html#ndbparam-ndbd-maxparallelscansperfragment)数据节点配置参数，它限制可以在单个片段副本上同时执行的扫描次数。
