Spec-Zone.ru › MySQL 9.2

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_SCHEMA COLUMNS или оператор SHOW COLUMNS, чтобы получить дополнительную информацию о столбцах этой таблицы, включая типы данных и значения по умолчанию.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/information-schema-innodb-indexes-table.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API