28.4.20 Таблица INFORMATION_SCHEMA INNODB_INDEXES
Таблица INNODB_INDEXES предоставляет метаданные об InnoDB индексах.
Для связанной информации об использовании и примеров см. Раздел 17.15.3, «Таблицы схемы InnoDB INFORMATION_SCHEMA».
В таблице INNODB_INDEXES содержатся следующие столбцы:
-
INDEX_IDИдентификатор индекса. Идентификаторы индексов уникальны во всех базах данных в экземпляре.
-
NAMEИмя индекса. Большинство индексов, созданных неявно
InnoDB, имеют согласованные имена, но имена индексов не обязательно уникальны. Примеры:PRIMARYдля индекса первичного ключа,GEN_CLUST_INDEXдля индекса, представляющего первичный ключ, когда он не указан, иID_IND,FOR_INDиREF_INDдля ограничений внешнего ключа. -
TABLE_IDИдентификатор, представляющий таблицу, связанную с индексом; то же значение, что и
INNODB_TABLES.TABLE_ID. -
TYPEЧисловое значение, полученное из информации на уровне битов, определяющее тип индекса. 0 = неуникальный вторичный индекс; 1 = автоматически сгенерированный кластеризованный индекс (
GEN_CLUST_INDEX); 2 = уникальный некластеризованный индекс; 3 = кластеризованный индекс; 32 = полнотекстовый индекс; 64 = пространственный индекс; 128 = вторичный индекс по полю . -
N_FIELDSКоличество столбцов в ключе индекса. Для
GEN_CLUST_INDEXиндексов это значение равно 0, так как индекс создается с использованием искусственного значения, а не реального столбца таблицы. -
PAGE_NOНомер корневой страницы индексного B-дерева. Для полнотекстовых индексов столбец
PAGE_NOне используется и установлен в -1 (FIL_NULL), так как полнотекстовый индекс размещается в нескольких B-деревьях (дополнительные таблицы). -
SPACEИдентификатор табличного пространства, где находится индекс. 0 означает
InnoDB. Любое другое число представляет таблицу, созданную с отдельным файлом.ibdв режиме. Этот идентификатор остается неизменным после выполнения командыTRUNCATE TABLE. Так как все индексы для таблицы находятся в том же табличном пространстве, что и таблица, это значение не обязательно уникально. -
MERGE_THRESHOLDЗначение порога слияния для страниц индекса. Если количество данных на странице индекса опускается ниже значения
MERGE_THRESHOLDпри удалении строки или при сокращении строки операцией обновления,InnoDBпытается слить страницу индекса с соседней страницей индекса. Значение порога по умолчанию составляет 50%. Дополнительную информацию см. в разделе 17.8.11, «Настройка порога слияния для страниц индекса».
Пример
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_INDEXES WHERE TABLE_ID = 34\G
*************************** 1. row ***************************
INDEX_ID: 39
NAME: GEN_CLUST_INDEX
TABLE_ID: 34
TYPE: 1
N_FIELDS: 0
PAGE_NO: 3
SPACE: 23
MERGE_THRESHOLD: 50
*************************** 2. row ***************************
INDEX_ID: 40
NAME: i1
TABLE_ID: 34
TYPE: 0
N_FIELDS: 1
PAGE_NO: 4
SPACE: 23
MERGE_THRESHOLD: 50
Примечания
Для запроса этой таблицы необходимо иметь привилегию
PROCESS.Используйте таблицу
INFORMATION_SCHEMACOLUMNSили операторSHOW COLUMNS, чтобы получить дополнительную информацию о столбцах этой таблицы, включая типы данных и значения по умолчанию.
© 2025 Oracle
Licensed under the GPLv2 License.