Spec-Zone.ru › MySQL 9.2

28.3.22 Таблица INFORMATION_SCHEMA PARTITIONS

Таблица PARTITIONS предоставляет информацию о разбиениях таблицы. Каждая строка в этой таблице соответствует отдельному разбиению или подразбиению разбиеной таблицы. Дополнительную информацию о разбиении таблиц см. в Главе 26, Разбиение.

В таблице PARTITIONS содержатся следующие столбцы:

  • TABLE_CATALOG

    Имя каталога, которому принадлежит таблица. Это значение всегда def.

  • TABLE_SCHEMA

    Имя схемы (базы данных), к которой принадлежит таблица.

  • TABLE_NAME

    Имя таблицы, содержащей разбиение.

  • PARTITION_NAME

    Имя разбиения.

  • SUBPARTITION_NAME

    Если строка таблицы PARTITIONS представляет подразбиение, то имя подразбиения; в противном случае NULL.

    Для NDB: Это значение всегда NULL.

  • PARTITION_ORDINAL_POSITION

    Все разбиения индексируются в том же порядке, что и при определении, начиная с 1, присвоенного первому разбиению. Индексация может меняться при добавлении, удалении и переупорядочении разбиений; отображаемое в этом столбце число отражает текущий порядок, учитывая любые изменения индексации.

  • SUBPARTITION_ORDINAL_POSITION

    Подразбиения внутри данного разбиения также индексируются и переиндексируются таким же образом, как и разбиения внутри таблицы.

  • PARTITION_METHOD

    Одно из значений RANGE, LIST, HASH, LINEAR HASH, KEY или LINEAR KEY; то есть, один из доступных типов разбиения, как обсуждается в Разделе 26.2, «Типы разбиения».

  • SUBPARTITION_METHOD

    Одно из значений HASH, LINEAR HASH, KEY или LINEAR KEY; то есть, один из доступных типов подразбиения, как обсуждается в Разделе 26.2.6, «Подразбиение».

  • 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              |
    +----------------------+
    

    Для таблицы, не явно разбитой, этот столбец всегда NULL, независимо от движка хранения.

  • 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 Cluster это всегда default. Для разбиеной таблицы с движком хранения, отличным от NDB, значение также default. В противном случае этот столбец пуст.

  • TABLESPACE_NAME

    Имя табличного пространства, которому принадлежит разбиение. Значение всегда DEFAULT, если таблица не использует движок хранения NDB (см. Примечания в конце этого раздела).

Примечания

  • PARTITIONS — это таблица нестандартного формата.

  • Таблица, использующая любой движок хранения, кроме 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 в этом случае пуст.

  • Таблица, которая не является явно разнесённой, имеет одну строку в таблице 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_COMMENT пуст.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/information-schema-partitions-table.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API