28.4.20 Таблица INFORMATION_SCHEMA INNODB_INDEXES
Таблица INNODB_INDEXES предоставляет метаданные об InnoDB индексах.
Для связанной информации по использованию и примеров см. Раздел 17.15.3, «InnoDB INFORMATION_SCHEMA Schema Object Tables».
Таблица 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.