The PARTITIONS table provides
information about table partitions. See
Chapter 17, Partitioning, for more information about
partitioning tables.
INFORMATION_SCHEMA
Name |
SHOW
Name |
Remarks |
TABLE_CATALOG |
MySQL extension | |
TABLE_SCHEMA |
MySQL extension | |
TABLE_NAME |
MySQL extension | |
PARTITION_NAME |
MySQL extension | |
SUBPARTITION_NAME |
MySQL extension | |
PARTITION_ORDINAL_POSITION |
MySQL extension | |
SUBPARTITION_ORDINAL_POSITION |
MySQL extension | |
PARTITION_METHOD |
MySQL extension | |
SUBPARTITION_METHOD |
MySQL extension | |
PARTITION_EXPRESSION |
MySQL extension | |
SUBPARTITION_EXPRESSION |
MySQL extension | |
PARTITION_DESCRIPTION |
MySQL extension | |
TABLE_ROWS |
MySQL extension | |
AVG_ROW_LENGTH |
MySQL extension | |
DATA_LENGTH |
MySQL extension | |
MAX_DATA_LENGTH |
MySQL extension | |
INDEX_LENGTH |
MySQL extension | |
DATA_FREE |
MySQL extension | |
CREATE_TIME |
MySQL extension | |
UPDATE_TIME |
MySQL extension | |
CHECK_TIME |
MySQL extension | |
CHECKSUM |
MySQL extension | |
PARTITION_COMMENT |
MySQL extension | |
NODEGROUP |
MySQL extension | |
TABLESPACE_NAME |
MySQL extension |
Notes:
The PARTITIONS table is a
nonstandard table. It was added in MySQL 5.1.6.
Each record in this table corresponds to an individual partition or subpartition of a partitioned table.
TABLE_CATALOG: This column is always
NULL.
TABLE_SCHEMA: This column contains the name
of the database to which the table belongs.
TABLE_NAME: This column contains the name
of the table containing the partition.
PARTITION_NAME: The name of the partition.
SUBPARTITION_NAME: If the
PARTITIONS table record
represents a subpartition, then this column contains the name
of subpartition; otherwise it is NULL.
PARTITION_ORDINAL_POSITION: All partitions
are indexed in the same order as they are defined, with
1 being the number assigned to the first
partition. The indexing can change as partitions are added,
dropped, and reorganized; the number shown is this column
reflects the current order, taking into account any indexing
changes.
SUBPARTITION_ORDINAL_POSITION:
Subpartitions within a given partition are also indexed and
reindexed in the same manner as partitions are indexed within
a table.
PARTITION_METHOD: One of the values
RANGE, LIST,
HASH, LINEAR HASH,
KEY, or LINEAR KEY; that
is, one of the available partitioning types as discussed in
Section 17.2, “Partition Types”.
SUBPARTITION_METHOD: One of the values
HASH, LINEAR HASH,
KEY, or LINEAR KEY; that
is, one of the available subpartitioning types as discussed in
Section 17.2.5, “Subpartitioning”.
PARTITION_EXPRESSION: This is the
expression for the partitioning function used in the
CREATE TABLE or
ALTER TABLE statement that
created the table's current partitioning scheme.
For example, consider a partitioned table created in the
test database using this statement:
CREATE TABLE tp (
c1 INT,
c2 INT,
c3 VARCHAR(25)
)
PARTITION BY HASH(c1 + c2)
PARTITIONS 4;
The PARTITION_EXPRESSION column in a
PARTITIONS table record for a partition from this table
displays c1 + c2, as shown here:
mysql>SELECT DISTINCT PARTITION_EXPRESSION>FROM INFORMATION_SCHEMA.PARTITIONS>WHERE TABLE_NAME='tp' AND TABLE_SCHEMA='test';+----------------------+ | PARTITION_EXPRESSION | +----------------------+ | c1 + c2 | +----------------------+ 1 row in set (0.09 sec)
SUBPARTITION_EXPRESSION: This works in the
same fashion for the subpartitioning expression that defines
the subpartitioning for a table as
PARTITION_EXPRESSION does for the
partitioning expression used to define a table's partitioning.
If the table has no subpartitions, then this column is
NULL.
PARTITION_DESCRIPTION: This column is used
for RANGE and LIST partitions. For a RANGE
partition, it contains the value set in the partition's
VALUES LESS THAN clause, which can be
either an integer or MAXVALUE. For a
LIST partition, this column contains the
values defined in the partition's VALUES IN
clause, which is a comma-separated list of integer values.
For partitions whose PARTITION_METHOD is
other than RANGE or
LIST, this column is always
NULL.
TABLE_ROWS: The number of table rows in the
partition.
For partitioned InnoDB tables,
the row count given in the TABLE_ROWS
column is only an estimated value used in SQL optimization,
and may not always be exact.
AVG_ROW_LENGTH: The average length of the
rows stored in this partition or subpartition, in bytes.
This is the same as DATA_LENGTH divided by
TABLE_ROWS.
DATA_LENGTH: The total length of all rows
stored in this partition or subpartition, in bytes —
that is, the total number of bytes stored in the partition or
subpartition.
MAX_DATA_LENGTH: The maximum number of
bytes that can be stored in this partition or subpartition.
INDEX_LENGTH: The length of the index file
for this partition or subpartition, in bytes.
DATA_FREE: The number of bytes allocated to
the partition or subpartition but not used.
CREATE_TIME: The time of the partition's or
subpartition's creation.
UPDATE_TIME: The time that the partition or
subpartition was last modified.
CHECK_TIME: The last time that the table to
which this partition or subpartition belongs was checked.
Some storage engines do not update this time; for tables
using these storage engines, this value is always
NULL.
CHECKSUM: The checksum value, if any;
otherwise, this column is NULL.
PARTITION_COMMENT: This column contains the
text of any comment made for the partition.
The default value for this column is an empty string.
NODEGROUP: This is the nodegroup to which
the partition belongs. This is relevant only to MySQL Cluster
tables; otherwise the value of this column is always
0.
TABLESPACE_NAME: This column contains the
name of tablespace to which the partition belongs. In MySQL
5.1, the value of this column is always
DEFAULT.
If any partitioned tables created in a MySQL version prior
to MySQL 5.1.6 are present following an upgrade to MySQL
5.1.6 or later, it is not possible to
SELECT from,
SHOW, or
DESCRIBE the
PARTITIONS table. See
Section C.2.36, “Changes in MySQL 5.1.6 (01 February 2006)” before
upgrading from MySQL 5.1.5 or earlier to MySQL 5.1.6 or
later.
A nonpartitioned table has one record in
INFORMATION_SCHEMA.PARTITIONS;
however, the values of the PARTITION_NAME,
SUBPARTITION_NAME,
PARTITION_ORDINAL_POSITION,
SUBPARTITION_ORDINAL_POSITION,
PARTITION_METHOD,
SUBPARTITION_METHOD,
PARTITION_EXPRESSION,
SUBPARTITION_EXPRESSION, and
PARTITION_DESCRIPTION columns are all
NULL. (The
PARTITION_COMMENT column in this case is
blank.)
In MySQL 5.1, there is also only one record in
the PARTITIONS table for a table
using the NDBCLUSTER storage
engine. The same columns are also NULL (or
empty) as for a nonpartitioned table.

User Comments
Add your own comment.