INNODB_FT_INDEX_TABLE
表格提供關於用於處理對 InnoDB
表格的 FULLTEXT
索引進行文字搜尋的反向索引的資訊。
此表格最初是空的。在查詢它之前,請將 innodb_ft_aux_table
系統變數的值設定為包含 FULLTEXT
索引的表格名稱 (包括資料庫名稱),例如 test/articles
。
如需相關使用資訊與範例,請參閱 第 17.15.4 節,〈InnoDB INFORMATION_SCHEMA FULLTEXT 索引表格〉。
INNODB_FT_INDEX_TABLE
表格具有下列欄:
WORD
從屬於
FULLTEXT
的欄的文字中擷取的單字。FIRST_DOC_ID
此單字出現在
FULLTEXT
索引中的第一個文件 ID。LAST_DOC_ID
此單字出現在
FULLTEXT
索引中的最後一個文件 ID。DOC_COUNT
此單字出現在
FULLTEXT
索引中的列數。相同的單字可以在快取表格中出現多次,每個DOC_ID
和POSITION
值組合各出現一次。DOC_ID
包含該單字的列的文件 ID。此值可能反映您為基礎表格定義的 ID 欄值,或者在表格不包含適合的欄時,它可能是由
InnoDB
產生的序列值。POSITION
此單字特定例項在
DOC_ID
值所識別的相關文件中的位置。
注意事項
此表格最初是空的。在查詢它之前,請將
innodb_ft_aux_table
系統變數的值設定為包含FULLTEXT
索引的表格名稱 (包括資料庫名稱),例如test/articles
。下列範例示範如何使用innodb_ft_aux_table
系統變數來顯示指定表格的FULLTEXT
索引的資訊。在INNODB_FT_INDEX_TABLE
中出現新插入列的資訊之前,必須將FULLTEXT
索引快取寫入磁碟。這是透過在已建立索引的表格上執行OPTIMIZE TABLE
作業並啟用innodb_optimize_fulltext_only
系統變數來完成。(範例在結尾會再次停用該變數,因為它僅旨在暫時啟用。)mysql> USE test; mysql> CREATE TABLE articles ( id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, title VARCHAR(200), body TEXT, FULLTEXT (title,body) ) ENGINE=InnoDB; mysql> INSERT INTO articles (title,body) VALUES ('MySQL Tutorial','DBMS stands for DataBase ...'), ('How To Use MySQL Well','After you went through a ...'), ('Optimizing MySQL','In this tutorial we show ...'), ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'), ('MySQL vs. YourSQL','In the following database comparison ...'), ('MySQL Security','When configured properly, MySQL ...'); mysql> SET GLOBAL innodb_optimize_fulltext_only=ON; mysql> OPTIMIZE TABLE articles; +---------------+----------+----------+----------+ | Table | Op | Msg_type | Msg_text | +---------------+----------+----------+----------+ | test.articles | optimize | status | OK | +---------------+----------+----------+----------+ mysql> SET GLOBAL innodb_ft_aux_table = 'test/articles'; mysql> SELECT WORD, DOC_COUNT, DOC_ID, POSITION FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE LIMIT 5; +------------+-----------+--------+----------+ | WORD | DOC_COUNT | DOC_ID | POSITION | +------------+-----------+--------+----------+ | 1001 | 1 | 4 | 0 | | after | 1 | 2 | 22 | | comparison | 1 | 5 | 44 | | configured | 1 | 6 | 20 | | database | 2 | 1 | 31 | +------------+-----------+--------+----------+ mysql> SET GLOBAL innodb_optimize_fulltext_only=OFF;
您必須擁有
PROCESS
權限才能查詢此表格。使用
INFORMATION_SCHEMA
COLUMNS
表格或SHOW COLUMNS
陳述式,以檢視關於此表格欄的其他資訊,包括資料類型和預設值。如需關於
InnoDB
FULLTEXT
搜尋的詳細資訊,請參閱 第 17.6.2.4 節,〈InnoDB 全文索引〉,以及 第 14.9 節,〈全文搜尋函數〉。