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:
- USE mydb;
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.
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.
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
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.