• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ndbinfo operations_per_fragment表

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

    下表提供有关表中各列的信息operations_per_fragment。该表为每一列显示名称,数据类型和简要说明。可以在表格后面的注释中找到其他信息。

    Operations_per_fragment表的列

    栏名类型描述
    fq_namestring该片段的名称
    parent_fq_namestring该片段的父级名称
    typestring对象类型;请参阅文字以获取可能的值
    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 index,或Ordered 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_writes,和tot_key_deletes没有被有序索引操作递增。

    注意

    使用时tot_key_writes,应记住,如果键存在,则此上下文中的写操作将更新该行,否则将插入新行。(此用法之一是在SQL语句的NDB实现中REPLACE。)

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

    attrinfokeyinfo属性由计数tot_key_attrinfo_bytestot_key_keyinfo_bytes列是一个属性LQHKEYREQ信号(见的NDB通信协议所使用的LDM启动键操作)。一个attrinfo典型地含有元组字段值(插入和更新)或投影规格(读取);keyinfo包含在此架构对象中定位给定元组所需的主键或唯一键。

    显示的值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数据节点配置参数来实现,该参数限制了可以在单个片段副本上同时执行的扫描数量。