Таблица PARTITIONS обеспечивают информацию относительно разделов таблицы.
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
Примечания:
Таблица PARTITIONS ненормативная. Это было добавлено в MySQL 5.1.6.
Каждая запись в этой таблице соответствует индивидуальному разделу или подразделу разбитой на разделы таблицы.
TABLE_CATALOG: Этот столбец всегда NULL.
TABLE_SCHEMA: Этот столбец содержит имя базы данных, которой таблица принадлежит.
TABLE_NAME: Этот столбец содержит имя таблицы, содержащей раздел.
PARTITION_NAME: Этот столбец содержит имя раздела.
SUBPARTITION_NAME: Если запись таблицы PARTITIONS представляет подраздел, то этот столбец содержит имя подраздела, иначе это 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 TABLE или ALTER 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_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: Это работает в том же самом режиме для выражения подвыделения разделов, которое определяет выделение подразделов для таблицы, как PARTITION_EXPRESSION делает для выражения выделения разделов, используемого, чтобы определить выделение разделов таблицы. Если таблица не имеет никаких подразделов, то этот столбец всегда хранит значение NULL.
PARTITION_DESCRIPTION: Этот столбец используется для разделов RANGE и LIST. Для раздела RANGE это содержит набор значений в предложении VALUES LESS THAN, которое может быть целым числом или MAXVALUE. Для раздела LIST этот столбец содержит значения, определенные в предложении VALUES IN раздела, которое является разделяемым запятыми списком целочисленных значений.
Для разделов, чьими PARTITION_METHOD является другое, чем RANGE или LIST, этот столбец всегда будет хранить NULL.
TABLE_ROWS: Число строк таблиц в разделе.
AVG_ROW_LENGTH: средняя длина строк, сохраненных в этом разделе или подразделе, в байтах.
Это вычисляется как DATA_LENGTH разделенное на TABLE_ROWS.
DATA_LENGTH: Общая длина всех строк, сохраненных в этом разделе или подразделе, в байтах. То есть, общее число байтов, сохраненных в разделе или подразделе.
MAX_DATA_LENGTH: Максимальное число байтов, которые могут быть сохранены в этом разделе или подразделе.
INDEX_LENGTH: Длина индексного файла для этого раздела или подраздела в байтах.
DATA_FREE: Число байт, распределенных разделу или подразделу, но им не используемых.
CREATE_TIME: Время создания раздела или подраздела.
UPDATE_TIME: Время, когда раздел или подраздел был в последний раз изменен.
CHECK_TIME: Последний раз, когда таблица, которой этот раздел или подраздел принадлежит, была проверена.
Обратите внимание: некоторые типы памяти не модифицируют это время. Для таблиц, использующих эти типы памяти, это значение всегда NULL.
CHECKSUM: Значение контрольной суммы, если есть. Иначе этот столбец NULL.
PARTITION_COMMENT: Этот столбец содержит текст любого комментария, сделанного для раздела.
Значение по умолчанию для этого столбца: пустая строка.
NODEGROUP: Это группа узлов, которой раздел принадлежит. Это релевантно только для таблиц MySQL Cluster, иначе значение этого столбца всегда 0.
TABLESPACE_NAME: Этот столбец содержит имя места таблицы, которому раздел принадлежит. В MySQL 5.1 значение этого столбца всегда DEFAULT.
Важно: если любые разбитые на разделы таблицы, созданные в MySQL версии до MySQL 5.1.6 присутствуют после обновления до MySQL 5.1.6 или позже, невозможен SELECT из, SHOW или DESCRIBE таблиц PARTITIONS.
Не разбитая на разделы таблица имеет одну запись в INFORMATION_SCHEMA.PARTITIONS, однако, значения столбцов PARTITION_NAME, SUBPARTITION_NAME, PARTITION_ORDINAL_POSITION, SUBPARTITION_ORDINAL_POSITION, PARTITION_METHOD, SUBPARTITION_METHOD, PARTITION_EXPRESSION, SUBPARTITION_EXPRESSION и PARTITION_DESCRIPTION все NULL. Столбец PARTITION_COMMENT в этом случае пуст.
В MySQL 5.1 имеется также только одна запись в таблице PARTITIONS для таблицы, использующей NDBCluster. Те же самые столбцы также NULL (или пусты), как и для не разбитой на разделы таблицы.