28.4.17 INFORMATION_SCHEMA INNODB_FT_DELETED 表
The INNODB_FT_DELETED
table stores rows that are deleted from the FULLTEXT
index for an InnoDB
table. To avoid expensive index reorganization during DML operations for an InnoDB
FULLTEXT
index, the information about newly deleted words is stored separately, filtered out of search results when you do a text search, and removed from the main search index only when you issue an OPTIMIZE TABLE
statement for the InnoDB
table. For more information, see Optimizing InnoDB Full-Text Indexes.
This table is empty initially. Before querying it, set the value of the innodb_ft_aux_table
system variable to the name (including the database name) of the table that contains the FULLTEXT
index (for example, test/articles
).
For related usage information and examples, see Section 17.15.4, “InnoDB INFORMATION_SCHEMA FULLTEXT Index Tables”.
The INNODB_FT_DELETED
table has these columns:
-
DOC_ID
The document ID of the newly deleted row. This value might reflect the value of an ID column that you defined for the underlying table, or it can be a sequence value generated by
InnoDB
when the table contains no suitable column. This value is used when you perform text searches, to skip rows in theINNODB_FT_INDEX_TABLE
table before data for deleted rows is physically removed from theFULLTEXT
index by anOPTIMIZE TABLE
statement. For more information, see Optimizing InnoDB Full-Text Indexes.
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED;
+--------+
| DOC_ID |
+--------+
| 6 |
| 7 |
| 8 |
+--------+
-
You must have the
PROCESS
privilege to query this table. -
Use the
INFORMATION_SCHEMA
COLUMNS
table or theSHOW COLUMNS
statement to view additional information about the columns of this table, including data types and default values. -
For more information about
InnoDB
FULLTEXT
search, see Section 17.6.2.4, “InnoDB Full-Text Indexes”, and Section 14.9, “Full-Text Search Functions”.