The PARTITIONS
table provides
information about table partitions. Each row in this table
corresponds to an individual partition or subpartition of a
partitioned table. For more information about partitioning tables,
see Chapter 23, Partitioning.
The PARTITIONS
table has these
columns:
TABLE_CATALOG
The name of the catalog to which the table belongs. This value is always
def
.TABLE_SCHEMA
The name of the schema (database) to which the table belongs.
TABLE_NAME
The name of the table containing the partition.
PARTITION_NAME
The name of the partition.
SUBPARTITION_NAME
If the
PARTITIONS
table row represents a subpartition, the name of subpartition; otherwiseNULL
.For
NDB
: This value is alwaysNULL
.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
, orLINEAR KEY
; that is, one of the available partitioning types as discussed in Section 23.2, “Partitioning Types”.SUBPARTITION_METHOD
One of the values
HASH
,LINEAR HASH
,KEY
, orLINEAR KEY
; that is, one of the available subpartitioning types as discussed in Section 23.2.6, “Subpartitioning”.PARTITION_EXPRESSION
The expression for the partitioning function used in the
CREATE TABLE
orALTER 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 aPARTITIONS
table row for a partition from this table displaysc1 + 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 | +----------------------+
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, 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'sVALUES LESS THAN
clause, which can be either an integer orMAXVALUE
. For aLIST
partition, this column contains the values defined in the partition'sVALUES IN
clause, which is a list of comma-separated integer values.For partitions whose
PARTITION_METHOD
is other thanRANGE
orLIST
, this column is alwaysNULL
.TABLE_ROWS
The number of table rows in the partition.
For partitioned
InnoDB
tables, the row count given in theTABLE_ROWS
column is only an estimated value used in SQL optimization, and may not always be exact.For
NDB
tables, you can also obtain this information using the ndb_desc utility.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 byTABLE_ROWS
.For
NDB
tables, you can also obtain this information using the ndb_desc utility.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.
For
NDB
tables, you can also obtain this information using the ndb_desc utility.MAX_DATA_LENGTH
The maximum number of bytes that can be stored in this partition or subpartition.
For
NDB
tables, you can also obtain this information using the ndb_desc utility.INDEX_LENGTH
The length of the index file for this partition or subpartition, in bytes.
For partitions of
NDB
tables, whether the tables use implicit or explicit partitioning, theINDEX_LENGTH
column value is always 0. However, you can obtain equivalent information using the ndb_desc utility.DATA_FREE
The number of bytes allocated to the partition or subpartition but not used.
For
NDB
tables, you can also obtain this information using the ndb_desc utility.CREATE_TIME
The time that the partition or subpartition was created.
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.
For partitioned
InnoDB
tables, the value is alwaysNULL
.CHECKSUM
The checksum value, if any; otherwise
NULL
.PARTITION_COMMENT
The text of the comment, if the partition has one. If not, this value is empty.
The maximum length for a partition comment is defined as 1024 characters, and the display width of the
PARTITION_COMMENT
column is also 1024, characters to match this limit.NODEGROUP
This is the nodegroup to which the partition belongs. This is relevant only to NDB Cluster tables; otherwise, the value is always
0
.TABLESPACE_NAME
The name of the tablespace to which the partition belongs. The value is always
DEFAULT
, unless the table uses theNDB
storage engine (see the Notes at the end of this section).
Notes
The
PARTITIONS
table is a nonstandardINFORMATION_SCHEMA
table.A table using any storage engine other than
NDB
and which is not partitioned has one row in thePARTITIONS
table. However, the values of thePARTITION_NAME
,SUBPARTITION_NAME
,PARTITION_ORDINAL_POSITION
,SUBPARTITION_ORDINAL_POSITION
,PARTITION_METHOD
,SUBPARTITION_METHOD
,PARTITION_EXPRESSION
,SUBPARTITION_EXPRESSION
, andPARTITION_DESCRIPTION
columns are allNULL
. Also, thePARTITION_COMMENT
column in this case is blank.An
NDB
table which is not explicitly partitioned has one row in thePARTITIONS
table for each data node in the NDB cluster. For each such row:The
SUBPARTITION_NAME
,SUBPARTITION_ORDINAL_POSITION
,SUBPARTITION_METHOD
,PARTITION_EXPRESSION
,SUBPARTITION_EXPRESSION
,CREATE_TIME
,UPDATE_TIME
,CHECK_TIME
,CHECKSUM
, andTABLESPACE_NAME
columns are allNULL
.The
PARTITION_METHOD
is alwaysAUTO
.The
NODEGROUP
column isdefault
.The
PARTITION_EXPRESSION
andPARTITION_COMMENT
columns are empty.