NDB_DESC(1) MySQL Database System NDB_DESC(1)
NAME
ndb_desc - describe NDB tables
SYNOPSIS
ndb_desc options
DESCRIPTION
ndb_desc provides a detailed description of one or more NDB tables.
Usage
ndb_desc -c connect_string tbl_name -d db_name [-p]
(MySQL Cluster NDB 7.2.9 and later:)
ndb_desc -c connect_string index_name -d db_name -t tbl_name
Sample Output
MySQL table creation and population statements:
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);
Output from ndb_desc:
shell> ./ndb_desc -c localhost fish -d test -p
-- fish --
Version: 2
Fragment type: 9
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: no
Number of attributes: 4
Number of primary keys: 1
Length of frm data: 311
Row Checksum: 1
Row GCI: 1
SingleUserMode: 0
ForceVarPart: 1
FragmentCount: 2
TableStatus: Retrieved
-- Attributes --
id Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
length_mm Int NOT NULL AT=FIXED ST=MEMORY
weight_gm Int NOT NULL AT=FIXED ST=MEMORY
-- Indexes --
PRIMARY KEY(id) - UniqueHashIndex
PRIMARY(id) - OrderedIndex
uk$unique(name) - UniqueHashIndex
uk(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 0
NDBT_ProgramExit: 0 - OK
Information about multiple tables can be obtained in a single invocation of ndb_desc by using their names, separated by spaces. All of the
tables must be in the same database.
Beginning with MySQL Cluster NDB 7.2.9, it is possible to obtain additional information about a specific index using the --table (short
form: -t) option introduced in this version and supplying the name of the index as the first argument to ndb_desc, as shown here:
shell> ./ndb_desc uk -d test -t fish
-- uk --
Version: 3
Base table: fish
Number of attributes: 1
Logging: 0
Index type: OrderedIndex
Index status: Retrieved
-- Attributes --
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
-- IndexTable 10/uk --
Version: 3
Fragment type: FragUndefined
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: yes
Number of attributes: 2
Number of primary keys: 1
Length of frm data: 0
Row Checksum: 1
Row GCI: 1
SingleUserMode: 2
ForceVarPart: 0
FragmentCount: 4
ExtraRowGciBits: 0
ExtraRowAuthorBits: 0
TableStatus: Retrieved
-- Attributes --
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
NDB$TNODE Unsigned [64] PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-- Indexes --
PRIMARY KEY(NDB$TNODE) - UniqueHashIndex
NDBT_ProgramExit: 0 - OK
When an index is specified in this way, the --extra-partition-info and --extra-node-info options have no effect.
The Version column in the output contains the table's schema object version. For information about interpreting this value, see NDB Schema
Object Versions[1].
The Extent_space and Free extent_space columns are applicable only to NDB tables having columns on disk; for tables having only in-memory
columns, these columns always contain the value 0.
To illustrate their use, we modify the previous example. First, we must create the necessary Disk Data objects, as shown here:
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;
(For more information on the statements just shown and the objects created by them, see Section 17.5.12.1, "MySQL Cluster Disk Data
Objects", as well as Section 13.1.14, "CREATE LOGFILE GROUP Syntax", and Section 13.1.18, "CREATE TABLESPACE Syntax".)
Now we can create and populate a version of the fish table that stores 2 of its columns on disk (deleting the previous version of the table
first, if it already exists):
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);
When run against this version of the table, ndb_desc displays the following output:
shell> ./ndb_desc -c localhost fish -d test -p
-- fish --
Version: 3
Fragment type: 9
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: no
Number of attributes: 4
Number of primary keys: 1
Length of frm data: 321
Row Checksum: 1
Row GCI: 1
SingleUserMode: 0
ForceVarPart: 1
FragmentCount: 2
TableStatus: Retrieved
-- Attributes --
id Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
length_mm Int NOT NULL AT=FIXED ST=DISK
weight_gm Int NOT NULL AT=FIXED ST=DISK
-- Indexes --
PRIMARY KEY(id) - UniqueHashIndex
PRIMARY(id) - OrderedIndex
uk$unique(name) - UniqueHashIndex
uk(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 0
NDBT_ProgramExit: 0 - OK
This means that 1048576 bytes are allocated from the tablespace for this table on each partition, of which 1044440 bytes remain free for
additional storage. In other words, 1048576 - 1044440 = 4136 bytes per partition is currently being used to store the data from this
table's disk-based columns. The number of bytes shown as Free extent_space is available for storing on-disk column data from the fish table
only; for this reason, it is not visible when selecting from the INFORMATION_SCHEMA.FILES table.
The following table includes options that are specific to ndb_desc. Additional descriptions follow the table. For options common to most
MySQL Cluster programs (including ndb_desc), see Options Common to MySQL Cluster Programs(1).
Table 17.17. ndb_desc Options and Variables: MySQL Cluster NDB 7.2
+-------------------------------+--------------------------------------+-------------------------------------+
|Format | Description | Added / Removed |
+-------------------------------+--------------------------------------+-------------------------------------+
| | Include partition information for | |
| --blob-info, | BLOB tables in output. Requires that | All MySQL 5.5 based releases |
| | the -p option also be | |
| -b | used | |
+-------------------------------+--------------------------------------+-------------------------------------+
| | Name of database containing table | |
| --database=dbname, | | All MySQL 5.5 based releases |
| | | |
| -d | | |
+-------------------------------+--------------------------------------+-------------------------------------+
| | Include partition-to-data-node | |
| --extra-node-info, | mappings in output. Requires that | All MySQL 5.5 based releases |
| | the -p | |
| -n | option also be used | |
+-------------------------------+--------------------------------------+-------------------------------------+
| | Display information about partitions | |
| --extra-partition-info, | | All MySQL 5.5 based releases |
| | | |
| -p | | |
+-------------------------------+--------------------------------------+-------------------------------------+
| | Number of times to retry the | |
| --retries=#, | connection (once per second) | All MySQL 5.5 based releases |
| | | |
| -r | | |
+-------------------------------+--------------------------------------+-------------------------------------+
| | Specify the table in which to find | |
| --table=tbl_name, | an index. When this option is used, | ADDED: NDB 7.2.9 |
| | -p and -n have no effect | |
| -t | and are ignored. | |
+-------------------------------+--------------------------------------+-------------------------------------+
| | Use unqualified table names | |
| --unqualified, | | All MySQL 5.5 based releases |
| | | |
| -u | | |
+-------------------------------+--------------------------------------+-------------------------------------+
o --blob-info, -b
Include information about subordinate BLOB and TEXT columns.
Use of this option also requires the use of the --extra-partition-info (-p) option.
o --database=db_name, -d
Specify the database in which the table should be found.
o --extra-node-info, -n
Include information about the mappings between table partitions and the data nodes upon which they reside. This information can be
useful for verifying distribution awareness mechanisms and supporting more efficient application access to the data stored in MySQL
Cluster.
Use of this option also requires the use of the --extra-partition-info (-p) option.
o --extra-partition-info, -p
Print additional information about the table's partitions.
o --retries=#, -r
Try to connect this many times before giving up. One connect attempt is made per second.
o --table=tbl_name, -t
Specify the table in which to look for an index.
This option was added in MySQL Cluster NDB 7.2.9.
o --unqualified, -u
Use unqualified table names.
COPYRIGHT
Copyright (C) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as
published by the Free Software Foundation; version 2 of the License.
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
NOTES
1. NDB Schema Object Versions
http://dev.mysql.com/doc/ndbapi/en/ndb-internals-schema-object-versions.html
SEE ALSO
For more information, please refer to the MySQL Reference Manual, which may already be installed locally and which is also available online
at http://dev.mysql.com/doc/.
AUTHOR
Oracle Corporation (http://dev.mysql.com/).
MySQL 5.5 01/30/2014 NDB_DESC(1)