28.4.17 INFORMATION_SCHEMA INNODB_FT_DELETED 表
INNODB_FT_DELETED 表存储了从 InnoDB 表的 FULLTEXT 索引中删除的行。为了避免在 DML 操作中对 InnoDB FULLTEXT 索引进行昂贵的索引重组,关于新删除的单词信息将单独存储,搜索结果中过滤掉这些单词,并且只有在您为 InnoDB 表执行 OPTIMIZE TABLE
语句时才从主搜索索引中删除这些单词。更多信息,请见 优化 InnoDB 全文索引。
这个表是空的初始状态。 bevor 查询它,请将 innodb_ft_aux_table
系统变量设置为包含 FULLTEXT 索引的表名(包括数据库名)的名称(例如,test/articles
)。
相关使用信息和示例,请见 第 17.15.4 节,“InnoDB INFORMATION_SCHEMA FULLTEXT Index 表”。
INNODB_FT_DELETED
表具有以下列:
-
DOC_ID
新删除行的文档 ID。这可能反映了您为 underlying 表定义的 ID 列的值,也可以是
InnoDB
在表中没有合适列时生成的顺序值。在执行文本搜索时,这个值将被用来跳过在INNODB_FT_INDEX_TABLE
表中删除行的数据,直到通过OPTIMIZE TABLE
语句将物理从FULLTEXT
索引中删除行的数据。更多信息,请参见优化 InnoDB 全文索引。
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED;
+--------+
| DOC_ID |
+--------+
| 6 |
| 7 |
| 8 |
+--------+
-
您需要拥有
PROCESS
特权来查询该表。 -
使用
INFORMATION_SCHEMA
COLUMNS
表或SHOW COLUMNS
语句来查看该表的列信息,包括数据类型和默认值。 -
关于
InnoDB
FULLTEXT
搜索的更多信息,请见第17.6.2.4节,“InnoDB Full-Text Indexes”和第14.9节,“Full-Text Search Functions”。