Spec-Zone .ru
спецификации, руководства, описания, API

17.4.9. ndb_desc — Описывают Таблицы NDB

ndb_desc обеспечивает подробное описание один или больше NDB таблицы.

Использование

ndb_desc -c connect_string tbl_name -d db_name [-p]      ndb_desc -c connect_string index_name -d db_name -t tbl_name

Демонстрационный Вывод

Табличное создание MySQL и операторы совокупности:

USE test;CREATE TABLE fish (    id INT(11) NOT NULL AUTO_INCREMENT,    name VARCHAR(20) NOT NULL,    length_mm INT(11) NOT NULL,    weight_gm INT(11) NOT NULL,    PRIMARY KEY pk (id),    UNIQUE KEY uk (name)) ENGINE=NDB;INSERT INTO fish VALUES    ('','guppy', 35, 2), ('','tuna', 2500, 150000),    ('','shark', 3000, 110000), ('','manta ray', 1500, 50000),    ('','grouper', 900, 125000), ('','puffer', 250, 2500);

Вывод от ndb_desc:

shell> ./ndb_desc -c localhost fish -d test -p-- fish --Version: 2Fragment type: 9K Value: 6Min load factor: 78Max load factor: 80Temporary table: noNumber of attributes: 4Number of primary keys: 1Length of frm data: 311Row Checksum: 1Row GCI: 1SingleUserMode: 0ForceVarPart: 1FragmentCount: 2TableStatus: Retrieved-- Attributes --id Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCRname Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORYlength_mm Int NOT NULL AT=FIXED ST=MEMORYweight_gm Int NOT NULL AT=FIXED ST=MEMORY-- Indexes --PRIMARY KEY(id) - UniqueHashIndexPRIMARY(id) - OrderedIndexuk$unique(name) - UniqueHashIndexuk(name) - OrderedIndex-- Per partition info --Partition  Row count  Commit count  Frag fixed memory ...0          2          2             32768             ...1          4          4             32768             ...... Frag varsized memory  Extent_space  Free extent_space... 32768                 0             0... 32768                 0             0NDBT_ProgramExit: 0 - OK

Информация о многократных таблицах может быть получена в единственном вызове ndb_desc при использовании их имен, разделенных пробелами. Все таблицы должны быть в той же самой базе данных.

Можно получить дополнительную информацию об определенном, индексируют использование --table (краткая форма: -t) опция, предоставляющая имя индексирования как первый параметр ndb_desc, как показано здесь:

shell> ./ndb_desc uk -d test -t fish-- uk --Version: 3Base table: fishNumber of attributes: 1Logging: 0Index type: OrderedIndexIndex status: Retrieved-- Attributes --name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY-- IndexTable 10/uk --Version: 3Fragment type: FragUndefinedK Value: 6Min load factor: 78Max load factor: 80Temporary table: yesNumber of attributes: 2Number of primary keys: 1Length of frm data: 0Row Checksum: 1Row GCI: 1SingleUserMode: 2ForceVarPart: 0FragmentCount: 4ExtraRowGciBits: 0ExtraRowAuthorBits: 0TableStatus: Retrieved-- Attributes --name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORYNDB$TNODE Unsigned [64] PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY-- Indexes -- PRIMARY KEY(NDB$TNODE) - UniqueHashIndexNDBT_ProgramExit: 0 - OK

Когда индексирование определяется таким образом, --extra-partition-info и --extra-node-info опции не имеют никакого эффекта.

Version столбец в выводе содержит версию объекта схемы таблицы. Для получения информации об интерпретации этого значения см. Версии объекта Схемы NDB.

Extent_space и Free extent_space столбцы применимы только к NDB табличные столбцы наличия на диске; для таблиц, имеющих только в памяти столбцы, эти столбцы всегда содержат значение 0.

Чтобы иллюстрировать их использование, мы изменяем предыдущий пример. Во-первых, мы должны создать необходимые Дисковые Объекты данных, как показано здесь:

CREATE LOGFILE GROUP lg_1    ADD UNDOFILE 'undo_1.log'    INITIAL_SIZE 16M    UNDO_BUFFER_SIZE 2M    ENGINE NDB;ALTER LOGFILE GROUP lg_1    ADD UNDOFILE 'undo_2.log'    INITIAL_SIZE 12M    ENGINE NDB;CREATE TABLESPACE ts_1    ADD DATAFILE 'data_1.dat'    USE LOGFILE GROUP lg_1    INITIAL_SIZE 32M    ENGINE NDB;ALTER TABLESPACE ts_1    ADD DATAFILE 'data_2.dat'    INITIAL_SIZE 48M    ENGINE NDB;

(Для получения дополнительной информации по операторам, только показанным и объекты, создаваемые ими, см. Раздел 17.5.12.1, "MySQL Cluster Disk Data Objects", так же как Раздел 13.1.14,"CREATE LOGFILE GROUP Синтаксис", и Раздел 13.1.18,"CREATE TABLESPACE Синтаксис".)

Теперь мы можем создать и заполнить версию fish таблица, которая хранит 2 из ее столбцов на диске (удаляющий предыдущую версию таблицы сначала, если это уже существует):

CREATE TABLE fish (    id INT(11) NOT NULL AUTO_INCREMENT,    name VARCHAR(20) NOT NULL,    length_mm INT(11) NOT NULL,    weight_gm INT(11) NOT NULL,    PRIMARY KEY pk (id),    UNIQUE KEY uk (name)) TABLESPACE ts_1 STORAGE DISK ENGINE=NDB;INSERT INTO fish VALUES    ('','guppy', 35, 2), ('','tuna', 2500, 150000),    ('','shark', 3000, 110000), ('','manta ray', 1500, 50000),    ('','grouper', 900, 125000), ('','puffer', 250, 2500);

Когда выполнено против этой версии таблицы, ndb_desc выводит на экран следующий вывод:

shell> ./ndb_desc -c localhost fish -d test -p-- fish --Version: 3Fragment type: 9K Value: 6Min load factor: 78Max load factor: 80Temporary table: noNumber of attributes: 4Number of primary keys: 1Length of frm data: 321Row Checksum: 1Row GCI: 1SingleUserMode: 0ForceVarPart: 1FragmentCount: 2TableStatus: Retrieved-- Attributes --id Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCRname Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORYlength_mm Int NOT NULL AT=FIXED ST=DISKweight_gm Int NOT NULL AT=FIXED ST=DISK-- Indexes --PRIMARY KEY(id) - UniqueHashIndexPRIMARY(id) - OrderedIndexuk$unique(name) - UniqueHashIndexuk(name) - OrderedIndex-- Per partition info --Partition  Row count  Commit count  Frag fixed memory ...0          2          2             32768             ...1          4          4             32768             ...... Frag varsized memory  Extent_space  Free extent_space... 32768                 0             0... 32768                 0             0NDBT_ProgramExit: 0 - OK

Это означает, что 1048576 байтов выделяются от табличной области для этой таблицы на каждом разделе, от которого 1044440 байтов остаются свободными для дополнительного хранения. Другими словами, 1048576 - 1044440 = 4136 байтов за раздел в настоящий момент используется, чтобы хранить данные от находящихся на диске столбцов этой таблицы. Число байтов, показанных как Free extent_space доступно для того, чтобы хранило дисковые данные столбца от fish таблица только; по этой причине это не видимо, выбирая из INFORMATION_SCHEMA.FILES таблица.

Следующая таблица включает опции, которые являются определенными для ndb_desc. Дополнительные описания следуют за таблицей. Для опций, характерных для большинства программ MySQL Cluster (включая ndb_desc), см. Раздел 17.4.25, "Опции, Характерные для MySQL Cluster Programs — Опции, Характерные для MySQL Cluster Programs".

Таблица 17.16. Опции ndb_desc и Переменные: MySQL Cluster NDB 7.3

Формат Описание Добавленный / Удаленный

--blob-info,

-b

Включайте информацию о разделе для таблиц BLOB в выводе. Требует, чтобы-p опция также использовалась

Весь MySQL 5.6 базируемые выпуски

--database=dbname,

-d

Имя базы данных, содержащей таблицу

Весь MySQL 5.6 базируемые выпуски

--extra-node-info,

-n

Включайте отображения раздела к узлу данных в вывод. Требует, чтобы-p опция также использовалась

Весь MySQL 5.6 базируемые выпуски

--extra-partition-info,

-p

Информация о дисплее о разделах

Весь MySQL 5.6 базируемые выпуски

--retries=#,

-r

Число раз, чтобы повторить соединение (однажды в секунду)

Весь MySQL 5.6 базируемые выпуски

--table=tbl_name,

-t

Определите таблицу, в которой можно найти индексирование. Когда эта опция используется,-p, и-n не имеют никакого эффекта и игнорируются.

Весь MySQL 5.6 базируемые выпуски

--unqualified,

-u

Используйте неполные имена таблиц

Весь MySQL 5.6 базируемые выпуски