该 INNODB_FT_DELETED
表存储从 InnoDB
表的 FULLTEXT
索引中删除的行。为了避免在 InnoDB
FULLTEXT
索引的 DML 操作期间进行昂贵的索引重组,有关新删除词的信息将单独存储,在进行文本搜索时将其从搜索结果中过滤掉,并且仅在您对 InnoDB
表发出 OPTIMIZE TABLE
语句时才从主搜索索引中删除。有关更多信息,请参阅 优化 InnoDB 全文索引.
该表最初为空。在查询它之前,将 innodb_ft_aux_table
系统变量的值设置为包含 FULLTEXT
索引的表的名称(包括数据库名称)(例如,test/articles
)。
有关相关使用信息和示例,请参阅 第 17.15.4 节,“InnoDB INFORMATION_SCHEMA 全文索引表”.
该 INNODB_FT_DELETED
表包含以下列
DOC_ID
新删除行的文档 ID。此值可能反映您为基础表定义的 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 全文索引” 和 第 14.9 节,“全文搜索函数”.