PARTITIONS表
该PARTITIONS表提供有关表分区的信息。该表中的每一行都对应于分区表的单个分区或子分区。有关分区表的更多信息,请参见分区。
该PARTITIONS表包含以下列:
TABLE_CATALOG该表所属的目录的名称。此值始终为
def。TABLE_SCHEMA表所属的模式(数据库)的名称。
TABLE_NAME包含分区的表的名称。
PARTITION_NAME分区的名称。
SUBPARTITION_NAME如果
PARTITIONS表行表示一个子分区,则为该子分区的名称;否则,为0。否则NULL。对于
NDB:此值始终为NULL。PARTITION_ORDINAL_POSITION所有分区的索引顺序与定义的顺序相同,
1是分配给第一个分区的编号。索引可以随着添加,删除和重组分区而改变;考虑到任何索引更改,此列中显示的数字反映了当前订单。SUBPARTITION_ORDINAL_POSITION给定分区内的子分区也按与在表中对分区进行索引的方式相同的方式进行索引和重新索引。
PARTITION_METHOD值之一
RANGE,LIST,HASH,LINEAR HASH,KEY,或LINEAR KEY;也就是“分区类型”中讨论的可用分区类型之一。SUBPARTITION_METHOD值之一
HASH,LINEAR HASH,KEY,或LINEAR KEY;也就是“子分区”中讨论的可用子分区类型之一。PARTITION_EXPRESSION创建表的当前分区方案的
CREATE TABLEorALTER TABLE语句中使用的分区函数的表达式。例如,考虑
test使用以下语句在数据库中创建的分区表:CREATE TABLE tp ( c1 INT, c2 INT, c3 VARCHAR(25) )PARTITION BY HASH (c1 + c2)PARTITIONS 4;该表中分区
PARTITION_EXPRESSION的PARTITIONS表行中的列显示c1 + c2,如下所示:mysql>
SELECT DISTINCT PARTITION_EXPRESSIONFROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME ='tp' AND TABLE_SCHEMA='test'; +---------------------- + | PARTITION_EXPRESSION | +---------------------- + | c1 + c2 | +---------------------- +SUBPARTITION_EXPRESSION这对于定义表的子分区的子
PARTITION_EXPRESSION分区表达式和用于定义表分区的分区表达式的工作方式相同。如果表没有子分区,则此列为
NULL。PARTITION_DESCRIPTION此列用于RANGE和LIST分区。对于
RANGE分区,它包含分区VALUES LESS THAN子句中设置的值,该值可以是整数或MAXVALUE。对于LIST分区,此列包含分区的VALUES IN子句中定义的值,该子句是逗号分隔的整数值的列表。对于
PARTITION_METHOD非RANGE或的分区LIST,此列始终为NULL。TABLE_ROWS分区中表的行数。
对于分区
InnoDB表,列中给出的行数TABLE_ROWS仅是SQL优化中使用的估计值,可能并不总是准确的。对于
NDB表,您还可以使用ndb_desc实用程序获取此信息。AVG_ROW_LENGTH存储在此分区或子分区中的行的平均长度,以字节为单位。这与
DATA_LENGTH除以相同TABLE_ROWS。对于
NDB表,您还可以使用ndb_desc实用程序获取此信息。DATA_LENGTH该分区或子分区中存储的所有行的总长度,以字节为单位;即分区或子分区中存储的字节总数。
对于
NDB表,您还可以使用ndb_desc实用程序获取此信息。MAX_DATA_LENGTH可以在此分区或子分区中存储的最大字节数。
对于
NDB表,您还可以使用ndb_desc实用程序获取此信息。INDEX_LENGTH该分区或子分区的索引文件的长度,以字节为单位。
对于
NDB表分区,无论表使用隐式分区还是显式分区,INDEX_LENGTH列值始终为0。但是,您可以使用ndb_desc实用程序获取等效信息。DATA_FREE分配给分区或子分区但未使用的字节数。
对于
NDB表,您还可以使用ndb_desc实用程序获取此信息。CREATE_TIME分区或子分区的创建时间。
UPDATE_TIME分区或子分区上次修改的时间。
CHECK_TIME上次检查该分区或子分区所属的表的时间。
对于分区
InnoDB表,该值始终为NULL。CHECKSUM校验和值(如果有);否则
NULL。PARTITION_COMMENT注释文本(如果分区包含一个)。如果不是,则此值为空。
分区注释的最大长度定义为1024个字符,并且该
PARTITION_COMMENT列的显示宽度也为1024,以匹配此限制的字符。NODEGROUP这是分区所属的节点组。这仅与NDB群集表相关;否则,该值始终为
0。TABLESPACE_NAME分区所属的表空间的名称。该值始终为
DEFAULT,除非表使用NDB存储引擎(请参阅本节末尾的注释)。
注意
- 该
PARTITIONS表是非标准INFORMATION_SCHEMA表。 - 使用除以外的任何存储引擎
NDB且未分区的PARTITIONS表在表中具有一行。然而,值PARTITION_NAME,SUBPARTITION_NAME,PARTITION_ORDINAL_POSITION,SUBPARTITION_ORDINAL_POSITION,PARTITION_METHOD,SUBPARTITION_METHOD,PARTITION_EXPRESSION,SUBPARTITION_EXPRESSION,和PARTITION_DESCRIPTION列所有NULL。同样,PARTITION_COMMENT在这种情况下该列为空白。 一个
NDB未明确分区表具有在所述一个行PARTITIONS表中为NDB集群中的每个节点的数据。对于每个这样的行:- 的
SUBPARTITION_NAME,SUBPARTITION_ORDINAL_POSITION,SUBPARTITION_METHOD,PARTITION_EXPRESSION,SUBPARTITION_EXPRESSION,CREATE_TIME,UPDATE_TIME,CHECK_TIME,CHECKSUM,和TABLESPACE_NAME列所有NULL。 - 在
PARTITION_METHOD始终AUTO。 - 该
NODEGROUP列default。 - 在
PARTITION_EXPRESSION与PARTITION_COMMENT列是空的。 
- 的
 
