28.3.21 Таблица 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_EXPRESSIONFROM INFORMATION_SCHEMA.PARTITIONSWHERE 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— это нестандартная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_COMMENTпуст.
© 2025 Oracle
Licensed under the GPLv2 License.