28.4.18 INFORMATION_SCHEMA INNODB_FT_INDEX_CACHE 表
INNODB_FT_INDEX_CACHE 表提供了关于在 FULLTEXT 索引中插入新行的词元信息。为了避免在 DML 操作期间进行昂贵的索引重组,关于新索引的单词信息将单独存储,并在运行 OPTIMIZE TABLE
、服务器关闭或缓存大小超过由 innodb_ft_cache_size
或 innodb_ft_total_cache_size
系统变量定义的限制时与主搜索索引组合。
这个表在初始状态下是空的。 bevor 查询它,设置 innodb_ft_aux_table
系统变量的值为包含 FULLTEXT 索引的表名(包括数据库名)(例如,test/articles
)。
有关使用信息和示例,请见 第17.15.4节,“InnoDB INFORMATION_SCHEMA FULLTEXT Index 表”。
INNODB_FT_INDEX_CACHE 表有以下列:
-
WORD
从新插入行的文本中提取的单词。
-
FIRST_DOC_ID
在 FULLTEXT 索引中,这个单词首次出现的文档 ID。
-
LAST_DOC_ID
在 FULLTEXT 索引中,这个单词最后一次出现的文档 ID。
-
DOC_COUNT
这个单词在 FULLTEXT 索引中的行数。同一个单词可以在缓存表中出现多次,每次对应不同的
DOC_ID
和POSITION
值组合。 -
DOC_ID
新插入行的文档 ID。这可能是您为 underlying 表定义的 ID 列的值,也可以是
InnoDB
生成的序列值,如果表中没有合适的列。 -
POSITION
在由
DOC_ID
值标识的相关文档中,这个单词特定的实例的位置。该值不表示绝对位置,而是相对于前一个该单词实例的偏移量。
-
该表在初始状态下是空的。 bevor 查询它,设置
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
搜索的更多信息,请见Section 17.6.2.4, “InnoDB Full-Text Indexes”
和Section 14.9, “Full-Text Search Functions”
。