24.3.16 Таблица INFORMATION_SCHEMA PARTITIONS
Таблица PARTITIONS предоставляет информацию о разделах таблицы. Каждая строка в этой таблице соответствует отдельному разделу или подразделу разбиеной таблицы. Дополнительную информацию о разбиении таблиц см. в Главе 22, Разбиение.
Таблица PARTITIONS содержит следующие столбцы:
-
TABLE_CATALOGИмя каталога, к которому принадлежит таблица. Это значение всегда
def. -
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; то есть один из доступных типов разбиения, как описано в Разделе 22.2, «Типы разбиения». -
SUBPARTITION_METHODОдно из значений
HASH,LINEAR HASH,KEYилиLINEAR KEY; то есть один из доступных типов подразделения, как описано в Разделе 22.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 | +----------------------+Для таблицы
NDB, которая не явно разбита, этот столбец пуст. Для таблиц, использующих другие движки хранения и которые не разбиты, этот столбец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,SUBPARTITION_EXPRESSION,CREATE_TIME,UPDATE_TIME,CHECK_TIME,CHECKSUMиTABLESPACE_NAMEравныNULL.Столбец
PARTITION_METHODвсегда равенKEY.Столбец
NODEGROUPравенdefault.Столбцы
PARTITION_EXPRESSIONиPARTITION_COMMENTпустые.
© 2025 Oracle
Licensed under the GPLv2 License.