Man Linux: Main Page and Category List

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]

       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  Frag varsized memory  Extent_space  Free extent_space
           0          2          2             32768              32768                 0             0
           1          4          4             32768              32768                 0             0
           NDBT_ProgramExit: 0 - OK

       The Extent_space and Free extent_space columns were added in MySQL
       Cluster NDB 6.3.27 and MySQL Cluster NDB 7.0.8. They 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.9.1, “MySQL Cluster Disk Data
       Objects”, as well as Section 12.1.14, “CREATE LOGFILE GROUP Syntax”,
       and Section 12.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  Frag varsized memory  Extent_space  Free extent_space
           0          2          2             32768              32768                 1048576       1044440
           1          4          4             32768              32768                 1048576       1044400
           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.

       Additional Options:

       ·   --extra-partition-info, -p

           Prints additional information about the table´s partitions.

       ·   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.

COPYRIGHT

       Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.

       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/.

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

       Sun Microsystems, Inc. (http://www.mysql.com/).