Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  INFORMATION_SCHEMA INNODB_FT_INDEX_TABLE テーブル

21.29.22 INFORMATION_SCHEMA INNODB_FT_INDEX_TABLE テーブル

INNODB_FT_INDEX_TABLE テーブルには、InnoDB テーブルの FULLTEXT インデックスに対してテキスト検索を処理するために使用される、転置インデックスに関する情報が表示されます。

このテーブルをクエリーする前に、構成変数 innodb_ft_aux_table を、test/articles など、FULLTEXT インデックスを含むテーブルの名前 (データベース名など) に設定します。

関連する使用法と使用例については、セクション14.14.4「InnoDB INFORMATION_SCHEMA FULLTEXT インデックステーブル」を参照してください。

表 21.24 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 の値を設定するまで空です。次の例は、innodb_ft_aux_table オプションを使用して、指定されたテーブルの FULLTEXT インデックスに関する情報を表示する方法について説明します。新しく挿入された行の情報が INNODB_FT_INDEX_TABLE に表示される前に、FULLTEXT インデックスキャッシュは、ディスクにフラッシュされる必要があります。これは、innodb_optimize_fulltext_only=ON でインデックスのついたテーブルで OPTIMIZE TABLE 操作により実行されます。

    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 will 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;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> OPTIMIZE TABLE articles;
    +---------------+----------+----------+----------+
    | Table         | Op       | Msg_type | Msg_text |
    +---------------+----------+----------+----------+
    | test.articles | optimize | status   | OK       |
    +---------------+----------+----------+----------+
    1 row in set (0.00 sec)
    
    mysql> SET GLOBAL innodb_ft_aux_table = 'test/articles';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> USE INFORMATION_SCHEMA;
    
    mysql> SELECT word, doc_count, doc_id, position FROM 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 |
    +------------+-----------+--------+----------+
    5 rows in set (0.01 sec)
  • DESCRIBE または SHOW COLUMNS を使用して、データ型とデフォルト値を含む、このテーブルのカラムに関する追加情報を表示します。

  • このテーブルをクエリーするには PROCESS 権限が必要です。

  • InnoDB FULLTEXT 検索の詳細は、セクション14.2.13.3「FULLTEXT インデックス」およびセクション12.9「全文検索関数」を参照してください。