24.32.10 INFORMATION_SCHEMA INNODB_FT_DELETEDtable

INNODB_FT_DELETEDtable 存储从InnoDBtable 的FULLTEXT索引中删除的行。为避免在InnoDB FULLTEXT索引的 DML 操作期间进行昂贵的索引重组,有关新删除的单词的信息将单独存储,在进行文本搜索时会从搜索结果中过滤掉,并且仅在发出OPTIMIZE TABLE语句时才从主搜索索引中删除InnoDBtable。有关更多信息,请参见优化 InnoDB 全文索引

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

有关相关用法信息和示例,请参见第 14.16.4 节“ InnoDB INFORMATION_SCHEMA FULLTEXT 索引 table”

INNODB_FT_DELETEDtable 具有以下列:

  • DOC_ID

新删除的行的文档 ID。该值可能反映您为基础 table 定义的 ID 列的值,或者它可以是InnoDB在 table 中没有合适的列时生成的序列值。在进行文本搜索时,将使用此值来跳过INNODB_FT_INDEX_TABLEtable 中的行,然后通过OPTIMIZE TABLE语句从FULLTEXT索引中物理删除已删除行的数据。有关更多信息,请参见优化 InnoDB 全文索引

Example

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED;
+--------+
| DOC_ID |
+--------+
|      6 |
|      7 |
|      8 |
+--------+

Notes