24.32.10 INFORMATION_SCHEMA INNODB_FT_DELETEDtable
INNODB_FT_DELETEDtable 存储从InnoDB
table 的FULLTEXT
索引中删除的行。为避免在InnoDB
FULLTEXT
索引的 DML 操作期间进行昂贵的索引重组,有关新删除的单词的信息将单独存储,在进行文本搜索时会从搜索结果中过滤掉,并且仅在发出OPTIMIZE TABLE语句时才从主搜索索引中删除InnoDB
table。有关更多信息,请参见优化 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
-
您必须具有PROCESS特权才能查询此 table。
-
使用
INFORMATION_SCHEMA
COLUMNStable 或SHOW COLUMNS语句查看有关此 table 列的其他信息,包括数据类型和默认值。 -
有关
InnoDB
FULLTEXT
搜索的更多信息,请参见第 14.6.2.4 节“ InnoDB FULLTEXT 索引”和第 12.9 节“全文搜索功能”。