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