No cache version.

Caching disabled. Default setting for this page:enabled (code DEF204)
If the display is too slow, you can disable the user mode to view the cached version.

Rechercher dans le manuel MySQL

22.5.10.29 The ndbinfo operations_per_fragment Table

The operations_per_fragment table provides information about the operations performed on individual fragments and fragment replicas, as well as about some of the results from these operations.

The following table provides information about the columns in the operations_per_fragment table. For each column, the table shows the name, data type, and a brief description. Additional information can be found in the notes following the table.

Table 22.403 Columns of the operations_per_fragment table

Column Name Type Description
fq_name string Name of this fragment
parent_fq_name string Name of this fragment's parent
type string Type of object; see text for possible values
table_id integer Table ID for this table
node_id integer Node ID for this node
block_instance integer Kernel block instance ID
fragment_num integer Fragment ID (number)
tot_key_reads integer Total number of key reads for this fragment replica
tot_key_inserts integer Total number of key inserts for this fragment replica
tot_key_updates integer total number of key updates for this fragment replica
tot_key_writes integer Total number of key writes for this fragment replica
tot_key_deletes integer Total number of key deletes for this fragment replica
tot_key_refs integer Number of key operations refused
tot_key_attrinfo_bytes integer Total size of all attrinfo attributes
tot_key_keyinfo_bytes integer Total size of all keyinfo attributes
tot_key_prog_bytes integer Total size of all interpreted programs carried by attrinfo attributes
tot_key_inst_exec integer Total number of instructions executed by interpreted programs for key operations
tot_key_bytes_returned integer Total size of all data and metadata returned from key read operations
tot_frag_scans integer Total number of scans performed on this fragment replica
tot_scan_rows_examined integer Total number of rows examined by scans
tot_scan_rows_returned integer Total number of rows returned to client
tot_scan_bytes_returned integer Total size of data and metadata returned to the client
tot_scan_prog_bytes integer Total size of interpreted programs for scan operations
tot_scan_bound_bytes integer Total size of all bounds used in ordered index scans
tot_scan_inst_exec integer Total number of instructions executed for scans
tot_qd_frag_scans integer Number of times that scans of this fragment replica have been queued
conc_frag_scans integer Number of scans currently active on this fragment replica (excluding queued scans)
conc_qd_frag_scans integer Number of scans currently queued for this fragment replica
tot_commits integer Total number of row changes committed to this fragment replica

The fq_name contains the fully qualified name of the schema object to which this fragment replica belongs. This currently has the following formats:

  • Base table: - DbName/def/TblName

  • BLOB table: - DbName/def/NDB$BLOB_BaseTblId_ColNo

  • Ordered index: - sys/def/BaseTblId/IndexName

  • Unique index: - sys/def/BaseTblId/IndexName$unique

The $unique suffix shown for unique indexes is added by mysqld; for an index created by a different NDB API client application, this may differ, or not be present.

The syntax just shown for fully qualified object names is an internal interface which is subject to change in future releases.

Consider a table t1 created and modified by the following SQL statements:

  1.  
  2. USE mydb;
  3.  
  4.   a INT NOT NULL,
  5.   b INT NOT NULL,
  6.   t TEXT NOT NULL,
  7. ) ENGINE=ndbcluster;
  8.  

If t1 is assigned table ID 11, this yields the fq_name values shown here:

  • Base table: mydb/def/t1

  • BLOB table: mydb/def/NDB$BLOB_11_2

  • Ordered index (primary key): sys/def/11/PRIMARY

  • Unique index: sys/def/11/ix1$unique

For indexes or BLOB tables, the parent_fq_name column contains the fq_name of the corresponding base table. For base tables, this column is always NULL.

The type column shows the schema object type used for this fragment, which can take any one of the values System table, User table, Unique hash index, or Ordered index. BLOB tables are shown as User table.

The table_id column value is unique at any given time, but can be reused if the corresponding object has been deleted. The same ID can be seen using the ndb_show_tables utility.

The block_instance column shows which LDM instance this fragment replica belongs to. You can use this to obtain information about specific threads from the threadblocks table. The first such instance is always numbered 0.

Since there are typically two replicas, and assuming that this is so, each fragment_num value should appear twice in the table, on two different data nodes from the same node group.

Since NDB does not use single-key access for ordered indexes, the counts for tot_key_reads, tot_key_inserts, tot_key_updates, tot_key_writes, and tot_key_deletes are not incremented by ordered index operations.

Note

When using tot_key_writes, you should keep in mind that a write operation in this context updates the row if the key exists, and inserts a new row otherwise. (One use of this is in the NDB implementation of the REPLACE SQL statement.)

The tot_key_refs column shows the number of key operations refused by the LDM. Generally, such a refusal is due to duplicate keys (inserts), Key not found errors (updates, deletes, and reads), or the operation was rejected by an interpreted program used as a predicate on the row matching the key.

The attrinfo and keyinfo attributes counted by the tot_key_attrinfo_bytes and tot_key_keyinfo_bytes columns are attributes of an LQHKEYREQ signal (see The NDB Communication Protocol) used to initiate a key operation by the LDM. An attrinfo typically contains tuple field values (inserts and updates) or projection specifications (for reads); keyinfo contains the primary or unique key needed to locate a given tuple in this schema object.

The value shown by tot_frag_scans includes both full scans (that examine every row) and scans of subsets. Unique indexes and BLOB tables are never scanned, so this value, like other scan-related counts, is 0 for fragment replicas of these.

tot_scan_rows_examined may display less than the total number of rows in a given fragment replica, since ordered index scans can limited by bounds. In addition, a client may choose to end a scan before all potentially matching rows have been examined; this occurs when using an SQL statement containing a LIMIT or EXISTS clause, for example. tot_scan_rows_returned is always less than or equal to tot_scan_rows_examined.

tot_scan_bytes_returned includes, in the case of pushed joins, projections returned to the DBSPJ block in the NDB kernel.

tot_qd_frag_scans can be effected by the setting for the MaxParallelScansPerFragment data node configuration parameter, which limits the number of scans that may execute concurrently on a single fragment replica.


Find a PHP function

Document created the 26/06/2006, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/mysql-rf-mysql-cluster-ndbinfo-operations-per-fragment.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.

References

  1. View the html document Language of the document:en Manuel MySQL : https://dev.mysql.com/

These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.

Contents Haut