Онлайн библиотека PLAM.RU


9.19. Таблица INFORMATION_SCHEMA PARTITIONS

Таблица 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 (или пусты), как и для не разбитой на разделы таблицы.









Главная | Контакты | Нашёл ошибку | Прислать материал | Добавить в избранное

Все материалы представлены для ознакомления и принадлежат их авторам.