InnoDB INFORMATION_SCHEMA FULLTEXT Index Tables 3. Query the  INNODB_FT_INDEX_CACHE  table, which shows information about newly inserted rows in a  FULLTEXT  index. To avoid expensive index reorganization during DML operations, data for newly inserted rows remains in the  FULLTEXT  index cache until  OPTIMIZE TABLE  is run (or until the server is shut down or cache limits are exceeded). 4. Enable the  innodb_optimize_fulltext_only  system variable and run  OPTIMIZE TABLE  on the table that contains the  FULLTEXT  index. This operation flushes the contents of the  FULLTEXT  index cache to the main  FULLTEXT  index.  innodb_optimize_fulltext_only  changes the way the OPTIMIZE TABLE  statement operates on  InnoDB  tables, and is intended to be enabled temporarily, during maintenance operations on  InnoDB  tables with  FULLTEXT  indexes. 5. Query the  INNODB_FT_INDEX_TABLE  table to view information about data in the main  FULLTEXT index, including information about the data that was just flushed from the  FULLTEXT  index cache. 6. Delete some records from the  test/articles  table. 7. Query the  INNODB_FT_DELETED  table. This table records rows that are deleted from the  FULLTEXT index. To avoid expensive index reorganization during DML operations, information about newly deleted records is stored separately, filtered out of search results when you do a text search, and removed from the main search index when you run  OPTIMIZE TABLE . 3315 mysql>  SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE LIMIT 5; +------------+--------------+-------------+-----------+--------+----------+ | WORD | FIRST_DOC_ID | LAST_DOC_ID | DOC_COUNT | DOC_ID | POSITION | +------------+--------------+-------------+-----------+--------+----------+ | 1001 | 5 | 5 | 1 | 5 | 0 | | after | 3 | 3 | 1 | 3 | 22 | | comparison | 6 | 6 | 1 | 6 | 44 | | configured | 7 | 7 | 1 | 7 | 20 | | database | 2 | 6 | 2 | 2 | 31 | +------------+--------------+-------------+-----------+--------+----------+ +---------------+----------+----------+----------+ | Table | Op | Msg_type | Msg_text | +---------------+----------+----------+----------+ | test.articles | optimize | status | OK | +---------------+----------+----------+----------+ +------------+--------------+-------------+-----------+--------+----------+ | WORD | FIRST_DOC_ID | LAST_DOC_ID | DOC_COUNT | DOC_ID | POSITION | +------------+--------------+-------------+-----------+--------+----------+ | 1001 | 5 | 5 | 1 | 5 | 0 | | after | 3 | 3 | 1 | 3 | 22 | | comparison | 6 | 6 | 1 | 6 | 44 | | configured | 7 | 7 | 1 | 7 | 20 | | database | 2 | 6 | 2 | 2 | 31 | +------------+--------------+-------------+-----------+--------+----------+ mysql>  SET GLOBAL innodb_optimize_fulltext_only=ON; mysql>  OPTIMIZE TABLE articles; mysql>  SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE LIMIT 5; mysql>  SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE LIMIT 5; Empty set (0.00 sec) mysql>  DELETE FROM test.articles WHERE id < 4; mysql>  SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DELETED; The  INNODB_FT_INDEX_CACHE  table is now empty since the  OPTIMIZE TABLE  operation flushed the FULLTEXT  index cache. +--------+ | DOC_ID |