Spec-Zone.ru › MySQL 5.7

24.4.12 Таблица INFORMATION_SCHEMA INNODB_FT_INDEX_CACHE

Таблица INNODB_FT_INDEX_CACHE предоставляет информацию о токенах вновь вставленных строк в индексе FULLTEXT. Для предотвращения дорогостоящей перестройки индекса во время операций DML, информация о вновь индексированных словах хранится отдельно и объединяется с основным поисковым индексом только при выполнении команды OPTIMIZE TABLE, при завершении работы сервера или при превышении размера кэша, определённого системной переменной innodb_ft_cache_size или innodb_ft_total_cache_size.

Эта таблица изначально пуста. Перед запросом к ней, установите значение системной переменной innodb_ft_aux_table в имя таблицы (включая имя базы данных), содержащей индекс FULLTEXT; например, test/articles.

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

Таблица INNODB_FT_INDEX_CACHE содержит следующие столбцы:

  • WORD

    Слово, извлечённое из текста новой вставленной строки.

  • FIRST_DOC_ID

    Идентификатор первого документа, в котором это слово встречается в индексе FULLTEXT.

  • LAST_DOC_ID

    Идентификатор последнего документа, в котором это слово встречается в индексе FULLTEXT.

  • DOC_COUNT

    Количество строк, в которых это слово встречается в индексе FULLTEXT. Одно и то же слово может встречаться в таблице кэша несколько раз, один раз для каждой комбинации значений DOC_ID и POSITION.

  • DOC_ID

    Идентификатор документа новой вставленной строки. Это значение может отражать значение столбца ID, определённого для базовой таблицы, или быть значением последовательности, сгенерированным InnoDB, если таблица не содержит подходящего столбца.

  • POSITION

    Позиция данного экземпляра слова в соответствующем документе, определённом значением DOC_ID. Значение не представляет собой абсолютную позицию; это смещение, добавляемое к POSITION предыдущего экземпляра этого слова.

Примечания

  • Эта таблица изначально пуста. Перед запросом к ней, установите значение системной переменной innodb_ft_aux_table в имя таблицы (включая имя базы данных), содержащей индекс FULLTEXT; например, test/articles. Следующий пример демонстрирует, как использовать системную переменную innodb_ft_aux_table для отображения информации об индексе FULLTEXT для указанной таблицы.

    mysql> USE test;
    
    mysql> CREATE TABLE articles (
             id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
             title VARCHAR(200),
             body TEXT,
             FULLTEXT (title,body)
           ) ENGINE=InnoDB;
    
    mysql> INSERT INTO articles (title,body) VALUES
           ('MySQL Tutorial','DBMS stands for DataBase ...'),
           ('How To Use MySQL Well','After you went through a ...'),
           ('Optimizing MySQL','In this tutorial we show ...'),
           ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
           ('MySQL vs. YourSQL','In the following database comparison ...'),
           ('MySQL Security','When configured properly, MySQL ...');
    
    mysql> SET GLOBAL innodb_ft_aux_table = 'test/articles';
    
    mysql> SELECT WORD, DOC_COUNT, DOC_ID, POSITION
           FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE LIMIT 5;
    +------------+-----------+--------+----------+
    | WORD       | DOC_COUNT | DOC_ID | POSITION |
    +------------+-----------+--------+----------+
    | 1001       |         1 |      4 |        0 |
    | after      |         1 |      2 |       22 |
    | comparison |         1 |      5 |       44 |
    | configured |         1 |      6 |       20 |
    | database   |         2 |      1 |       31 |
    +------------+-----------+--------+----------+
    
  • Для запроса к этой таблице необходимо иметь привилегию PROCESS.

  • Используйте таблицу INFORMATION_SCHEMA COLUMNS или команду SHOW COLUMNS для просмотра дополнительной информации о столбцах этой таблицы, включая типы данных и значения по умолчанию.

  • Для получения дополнительной информации о поиске с использованием InnoDB FULLTEXT, см. Раздел 14.6.2.4, «Индексы InnoDB с полным текстом» и Раздел 12.9, «Функции поиска по полному тексту».

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

Spec-Zone.ru

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