MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  myisam_ftdump — 全文インデックス情報の表示

4.6.3 myisam_ftdump — 全文インデックス情報の表示

myisam_ftdumpMyISAM テーブル内の FULLTEXT インデックスに関する情報を表示します。 MyISAM インデックスファイルを直接読み取るため、テーブルのあるサーバーホスト上で実行する必要があります。 サーバーが稼働中の場合は、myisam_ftdump を使用する前に、必ず最初に FLUSH TABLES ステートメントを発行してください。

myisam_ftdump はインデックス全体をスキャンしてダンプします。これは特に高速ではありません。 一方、単語の分布の変更頻度は高くないため、頻繁に実行する必要はありません。

myisam_ftdump は次のように起動します。

shell> myisam_ftdump [options] tbl_name index_num

tbl_name 引数は MyISAM テーブルの名前であるべきです。 インデックスファイル (.MYI サフィクスの付いたファイル) を指名することでテーブルを指定することもできます。 テーブルファイルがあるディレクトリで myisam_ftdump を起動しない場合は、テーブルまたはインデックスのファイル名の前に、テーブルのデータベースディレクトリのパス名を指定する必要があります。 インデックス番号は 0 から始まります。

例: test データベースに、次の定義を持つ mytexttable という名前のテーブルが含まれるとします。

CREATE TABLE mytexttable
(
  id   INT NOT NULL,
  txt  TEXT NOT NULL,
  PRIMARY KEY (id),
  FULLTEXT (txt)
) ENGINE=MyISAM;

id のインデックスはインデックス 0 で、txtFULLTEXT インデックスはインデックス 1 です。 作業ディレクトリが test データベースディレクトリの場合は、myisam_ftdump を次のように起動します。

shell> myisam_ftdump mytexttable 1

test データベースディレクトリへのパス名が /usr/local/mysql/data/test の場合、そのパス名を指定してテーブル名引数を指定することもできます。 これは、データベースディレクトリ内で myisam_ftdump を起動しない場合役に立ちます。

shell> myisam_ftdump /usr/local/mysql/data/test/mytexttable 1

myisam_ftdump を使用して、Unix のようなシステムで発生する頻度の順にインデックスエントリのリストを生成できます:

shell> myisam_ftdump -c mytexttable 1 | sort -r

Windows の場合は、次を使用します:

shell> myisam_ftdump -c mytexttable 1 | sort /R

myisam_ftdump は次のオプションをサポートします。

  • --help, -h -?

    ヘルプメッセージを表示して終了します。

  • --count, -c

    1 語当たりの統計 (カウントとグローバルな重み) を計算します。

  • --dump, -d

    データオフセットや語の重みを含むインデックスをダンプします。

  • --length, -l

    長さの分布をレポートします。

  • --stats, -s

    グローバルインデックス統計をレポートします。 ほかの操作が指定されていない場合、これがデフォルトの操作です。

  • --verbose, -v

    冗長モード。 プログラムの動作についてより多くの情報を出力します。


関連キーワード:  プログラム, テーブル, ftdump, インデックス, サーバー, 表示, 情報, 起動, myisamchk, 接続