Spec-Zone.ru › MySQL 5.7

24.4.22 Таблица INFORMATION_SCHEMA INNODB_SYS_INDEXES

Таблица INNODB_SYS_INDEXES предоставляет метаданные об InnoDB индексах, эквивалентные информации в внутренней SYS_INDEXES таблице в словаре данных InnoDB.

Для получения информации о связанном использовании и примеров см. Раздел 14.16.3, «Таблицы системы InnoDB INFORMATION_SCHEMA».

В таблице INNODB_SYS_INDEXES содержатся следующие столбцы:

  • INDEX_ID

    Идентификатор индекса. Идентификаторы индексов уникальны во всех базах данных экземпляра.

  • NAME

    Название индекса. Большинство индексов, созданных неявно InnoDB, имеют согласованные имена, но имена индексов не обязательно уникальны. Примеры: PRIMARY для индекса первичного ключа, GEN_CLUST_INDEX для индекса, представляющего первичный ключ, когда он не указан, и ID_IND, FOR_IND и REF_IND для ограничений внешнего ключа.

  • TABLE_ID

    Идентификатор, представляющий таблицу, связанную с индексом; то же значение, что и INNODB_SYS_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%. Дополнительную информацию см. в Разделе 14.8.12, «Настройка порога слияния для страниц индекса».

Пример

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_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-5.7-en/information-schema-innodb-sys-indexes-table.html

Spec-Zone.ru

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