25.6.17.49 Таблица ndbinfo operations_per_fragment
Таблица operations_per_fragment предоставляет информацию об операциях, выполняемых над отдельными фрагментами и репликами фрагментов, а также о некоторых результатах этих операций.
Таблица operations_per_fragment содержит следующие столбцы:
-
fq_nameИмя этого фрагмента
-
parent_fq_nameИмя родительского фрагмента
-
typeТип объекта; см. текст для возможных значений
-
table_idИдентификатор таблицы для этой таблицы
-
node_idИдентификатор узла для этого узла
-
block_instanceИдентификатор экземпляра блока ядра
-
fragment_numИдентификатор фрагмента (число)
-
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 присвоено табличный идентификатор 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 содержит имя соответствующей базовой таблицы. Для базовых таблиц этот столбец всегда NULL.
Столбец type показывает тип объекта схемы, используемого для этого фрагмента, который может принимать любое из значений System table, User table, Unique hash index или Ordered
index. Таблицы BLOB отображаются как User table.
Значение столбца table_id уникально в любой момент времени, но может быть повторно использовано, если соответствующий объект был удалён. Тот же идентификатор можно увидеть с помощью утилиты ndb_show_tables.
Столбец block_instance показывает, к какому экземпляру LDM принадлежит эта реплика фрагмента. Это можно использовать для получения информации о конкретных потоках из таблицы threadblocks. Первый такой экземпляр всегда имеет номер 0.
Поскольку обычно есть две реплики фрагмента, и предполагая, что это так, каждое значение fragment_num должно появляться дважды в таблице на двух разных узлах данных из одной группы узлов.
Поскольку NDB не использует доступ по одиночному ключу для упорядоченных индексов, счётчики для tot_key_reads, tot_key_inserts, tot_key_updates, tot_key_writes и tot_key_deletes не увеличиваются операциями упорядоченного индекса.
При использовании tot_key_writes следует помнить, что операция записи в этом контексте обновляет строку, если ключ существует, и вставляет новую строку в противном случае. (Одно из применений этого — в реализации NDB оператора SQL REPLACE.)
Столбец tot_key_refs показывает количество отклоненных операций с ключами LDM. Как правило, такое отклонение связано с дубликатами ключей (вставки), ошибками «Ключ не найден» (обновления, удаления и чтение) или операция была отклонена интерпретируемой программой, используемой в качестве предиката для строки, соответствующей ключу.
Атрибуты attrinfo и keyinfo, подсчитываемые столбцами tot_key_attrinfo_bytes и tot_key_keyinfo_bytes, являются атрибутами сигнала LQHKEYREQ (см. Протокол обмена данными NDB), используемого для инициирования операции с ключом LDM. attrinfo обычно содержит значения полей кортежей (вставки и обновления) или спецификации проекций (для чтения); keyinfo содержит первичный или уникальный ключ, необходимый для поиска заданного кортежа в данном объекте схемы.
Показанное значение tot_frag_scans включает как полные сканирования (которые проверяют каждую строку), так и сканирования подмножеств. Уникальные индексы и таблицы BLOB никогда не сканируются, поэтому это значение, как и другие счётчики, связанные со сканированием, равно 0 для реплик фрагментов этих объектов.
tot_scan_rows_examined может отображать меньше, чем общее количество строк в заданной реплике фрагмента, поскольку упорядоченные индексные сканирования могут быть ограничены границами. Кроме того, клиент может выбрать завершение сканирования до проверки всех потенциально соответствующих строк; это происходит, например, при использовании оператора SQL, содержащего клаузу LIMIT или EXISTS. tot_scan_rows_returned всегда меньше или равно tot_scan_rows_examined.
tot_scan_bytes_returned включает, в случае подталкиваемых соединений, проекции, возвращаемые блоку DBSPJ в ядре NDB.
tot_qd_frag_scans может быть повлияно параметром конфигурации узла данных MaxParallelScansPerFragment, который ограничивает число сканирований, которые могут выполняться одновременно на одной реплике фрагмента.
© 2025 Oracle
Licensed under the GPLv2 License.