25.5.14 ndb_index_stat — Утилита статистики индексов NDB
ndb_index_stat предоставляет статистическую информацию по фрагментам об индексах в таблицах NDB. Это включает версию и возраст кэша, количество записей индекса на каждой части и потребление памяти индексами.
Использование
Чтобы получить основные статистические данные об индексе конкретной таблицы NDB, вызовите ndb_index_stat с именем таблицы в качестве первого аргумента, а имя базы данных, содержащей эту таблицу, укажите сразу после него, используя опцию --database (-d):
ndb_index_stat table -d database
В этом примере мы используем ndb_index_stat для получения такой информации о таблице NDB с именем mytable в базе данных test:
$> ndb_index_stat -d test mytable
table:City index:PRIMARY fragCount:2
sampleVersion:3 loadTime:1399585986 sampleCount:1994 keyBytes:7976
query cache: valid:1 sampleCount:1994 totalBytes:27916
times in ms: save: 7.133 sort: 1.974 sort per sample: 0.000
sampleVersion — это номер версии кэша, из которого берутся статистические данные. Выполнение ndb_index_stat с опцией --update приводит к увеличению sampleVersion.
loadTime отображает время последнего обновления кэша. Оно выражено в секундах с момента эпохи Unix.
sampleCount — это количество записей индекса, найденных в каждой части. Вы можете оценить общее количество записей, умножив это значение на количество фрагментов (показанное как fragCount).
sampleCount можно сравнить с кардинальностью SHOW INDEX или INFORMATION_SCHEMA.STATISTICS, хотя последние две предоставляют представление о таблице в целом, в то время как ndb_index_stat предоставляет среднее значение по каждому фрагменту.
keyBytes — это количество байтов, используемых индексом. В этом примере первичный ключ — это целое число, которое требует четырёх байтов для каждого индекса, поэтому keyBytes может быть рассчитано в этом случае, как показано здесь:
keyBytes = sampleCount * (4 bytes per index) = 1994 * 4 = 7976
Эту информацию также можно получить, используя соответствующие определения столбцов из INFORMATION_SCHEMA.COLUMNS (это требует сервера MySQL и приложения-клиента MySQL).
totalBytes — это общее количество памяти, занимаемой всеми индексами в таблице, в байтах.
Время, показанное в предыдущих примерах, специфично для каждого вызова ndb_index_stat.
Опция --verbose предоставляет дополнительный вывод, как показано здесь:
$> ndb_index_stat -d test mytable --verbose
random seed 1337010518
connected
loop 1 of 1
table:mytable index:PRIMARY fragCount:4
sampleVersion:2 loadTime:1336751773 sampleCount:0 keyBytes:0
read stats
query cache created
query cache: valid:1 sampleCount:0 totalBytes:0
times in ms: save: 20.766 sort: 0.001
disconnected
$>
Если вывод программы пуст, это может означать, что статистические данные ещё не существуют. Чтобы заставить их создать (или обновить, если они уже существуют), вызовите ndb_index_stat с опцией --update или выполните ANALYZE TABLE над таблицей в клиенте mysql.
Опции
В следующей таблице перечислены опции, специфичные для утилиты NDB Cluster ndb_index_stat. Дополнительные описания приведены после таблицы.
-
Формат командной строки --character-sets-dir=pathКаталог, содержащий кодировки символов.
-
Формат командной строки --connect-retries=#Тип Integer Значение по умолчанию 12Минимальное значение 0Максимальное значение 12Количество попыток повторного подключения перед отказом.
-
Формат командной строки --connect-retry-delay=#Тип Integer Значение по умолчанию 5Минимальное значение 0Максимальное значение 5Количество секунд ожидания между попытками связаться с сервером управления.
-
Формат командной строки --connect-string=connection_stringТип String Значение по умолчанию [none]То же, что и
--ndb-connectstring. -
Формат командной строки --core-fileЗаписать core-файл при ошибке; используется для отладки.
-
--database=,name-dnameФормат командной строки --database=nameТип String Значение по умолчанию [none]Минимальное значение Максимальное значение Имя базы данных, содержащей запрашиваемую таблицу.
-
Формат командной строки --defaults-extra-file=pathТип String Значение по умолчанию [none]Прочитать заданный файл после чтения глобальных файлов.
-
Формат командной строки --defaults-file=pathТип String Значение по умолчанию [none]Прочитать параметры по умолчанию только из заданного файла.
-
Формат командной строки --defaults-group-suffix=stringТип String Значение по умолчанию [none]Также прочитать группы с concat(group, suffix).
-
Формат командной строки --deleteУдалить статистику индекса для данной таблицы, остановив любое ранее настроенное автоматическое обновление.
-
Формат командной строки --dumpДамп содержимого кэша запросов.
-
Формат командной строки --helpВывести справку и завершить работу.
-
Формат командной строки --login-path=pathТип String Значение по умолчанию [none]Прочитать заданный путь из файла входа.
-
Формат командной строки --no-login-pathsПропускает чтение параметров из файла пути входа.
-
Формат командной строки --loops=#Тип Numeric Значение по умолчанию 0Минимальное значение 0Максимальное значение MAX_INTПовторить команды это количество раз (для использования в тестировании).
-
Формат командной строки --ndb-connectstring=connection_stringТип String Значение по умолчанию [none]Установить строку соединения для подключения к ndb_mgmd. Синтаксис:
[nodeid=. Переопределяет записи вid;][host=]hostname[:port]NDB_CONNECTSTRINGиmy.cnf. -
Формат командной строки --ndb-mgm-tls=levelТип Enumeration Значение по умолчанию relaxedДопустимые значения relaxedstrictУстанавливает уровень поддержки TLS, необходимый для подключения к серверу управления; один из
relaxedилиstrict.relaxed(по умолчанию) означает, что попытка подключения по TLS предпринимается, но успех не обязателен;strictозначает, что для подключения требуется TLS. -
Формат командной строки --ndb-mgmd-host=connection_stringТип String Значение по умолчанию [none]То же, что и
--ndb-connectstring.
-
Формат командной строки --ndb-nodeid=#Тип Integer Значение по умолчанию [none]Установить идентификатор узла для этого узла, переопределив любой идентификатор, установленный с помощью
--ndb-connectstring. -
--ndb-optimized-node-selectionФормат командной строки --ndb-optimized-node-selectionВключить оптимизацию выбора узлов для транзакций. Включено по умолчанию; используйте
--skip-ndb-optimized-node-selectionдля отключения. -
Формат командной строки --ndb-tls-search-path=listТип Path name Значение по умолчанию (Unix) $HOME/ndb-tlsЗначение по умолчанию (Windows) $HOMEDIR/ndb-tlsУказать список каталогов для поиска файла CA. На платформах Unix имена каталогов разделяются двоеточиями (
:); в системах Windows в качестве разделителя используется символ точки с запятой (;). Ссылка на каталог может быть относительной или абсолютной; она может содержать одну или несколько переменных среды, каждая из которых обозначается предшествующим знаком доллара ($) и расширяется перед использованием.Поиск начинается с левого каталога и продолжается слева направо, пока файл не будет найден. Пустая строка обозначает пустой путь поиска, что приводит к сбою всех поисков. Строка, состоящая из одной точки (
.), указывает, что путь поиска ограничен текущим рабочим каталогом.Если путь поиска не указан, используется значение по умолчанию, встроенное в компилятор. Это значение зависит от используемой платформы: в Windows это
\ndb-tls; на других платформах (включая Linux) это$HOME/ndb-tls. Это можно переопределить, скомпилировав NDB Cluster с помощью-DWITH_NDB_TLS_SEARCH_PATH. -
Формат командной строки --no-defaultsНе читать параметры по умолчанию из любого файла параметров, кроме файла входа в систему.
-
Формат командной строки --print-defaultsВывести список аргументов программы и завершить работу.
-
Формат командной строки --query=#Тип Numeric Значение по умолчанию 0Минимальное значение 0Максимальное значение MAX_INTВыполнить запросы случайного диапазона по первому ключевому атрибуту (должен быть int unsigned).
-
Формат командной строки --sys-dropУдалить все таблицы и события статистики в ядре NDB. Это приводит к потере всей статистики.
-
Формат командной строки --sys-createСоздать все таблицы и события статистики в ядре NDB. Это работает только если ни одна из них не существует ранее.
-
Формат командной строки --sys-create-if-not-existСоздать любые таблицы или события (или и то, и другое) статистики системы NDB, которые еще не существуют при вызове программы.
-
Формат командной строки --sys-create-if-not-validСоздать любые таблицы или события статистики системы NDB, которые еще не существуют, после удаления любых недействительных.
-
Формат командной строки --sys-checkПроверить, существуют ли все необходимые таблицы и события статистики системы в ядре NDB.
-
Формат командной строки --sys-skip-tablesНе применять любые параметры
--sys-*к таблицам статистики. -
Формат командной строки --sys-skip-eventsНе применять любые параметры
--sys-*к событиям. -
Формат командной строки --updateОбновить статистику индекса для данной таблицы и перезапустить любое автообновление, которое было ранее настроено.
-
Формат командной строки --usageВывести справку и завершить работу; то же самое, что и
--help. -
Формат командной строки --verboseВключить подробный вывод.
-
Формат командной строки --versionВывести информацию о версии и завершить работу.
Системные параметры ndb_index_stat. Следующие параметры используются для генерации и обновления таблиц статистики в ядре NDB. Ни один из этих параметров не может быть объединен с параметрами статистики (см. параметры статистики ndb_index_stat).
Параметры статистики ndb_index_stat. Указанные здесь параметры используются для генерации статистики индексов. Они работают с заданной таблицей и базой данных. Их нельзя смешивать с системными параметрами (см. системные параметры ndb_index_stat).
© 2025 Oracle
Licensed under the GPLv2 License.