文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  INFORMATION_SCHEMA INNODB_FT_INDEX_TABLE 表格

28.4.19 INFORMATION_SCHEMA INNODB_FT_INDEX_TABLE 表格

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_IDPOSITION 值的組合。

  • 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 節, 「全文搜尋函數」