Documentation Home
MySQL 8.0 参考手册  / 第 26 章 INFORMATION_SCHEMA 表  / 26.4 INFORMATION_SCHEMA InnoDB 表  /  21.4.12 INFORMATION_SCHEMA INNODB_FT_INDEX_CACHE 表

21.4.12 INFORMATION_SCHEMA INNODB_FT_INDEX_CACHE 表

该表提供有关索引INNODB_FT_INDEX_CACHE中新插入行的标记信息 。FULLTEXT为了避免在 DML 操作期间进行昂贵的索引重组,有关新索引词的信息被单独存储,并且仅在OPTIMIZE TABLE运行时、服务器关闭时或缓存大小超过 innodb_ft_cache_sizeor 定义的限制时才与主搜索索引结合innodb_ft_total_cache_size系统变量。

该表最初是空的。在查询之前,将innodb_ft_aux_table系统变量的值设置为包含FULLTEXT索引的表的名称(包括数据库名称);例如 test/articles

有关相关的使用信息和示例,请参阅 第 14.15.4 节,“InnoDB INFORMATION_SCHEMA FULLTEXT 索引表”

INNODB_FT_INDEX_CACHE表有以下列:

  • WORD

    从新插入行的文本中提取的单词。

  • FIRST_DOC_ID

    该词出现在 FULLTEXT索引中的第一个文档 ID。

  • LAST_DOC_ID

    该词出现在 FULLTEXT索引中的最后一个文档 ID。

  • DOC_COUNT

    该词在 FULLTEXT索引中出现的行数。同一个词可以在缓存表中出现多次,每个DOC_IDPOSITION值的组合出现一次。

  • DOC_ID

    新插入行的文档 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.3 节,“InnoDB 全文索引”第 12.10 节,“全文搜索功能”