myisam_ftdump は MyISAM
テーブル内の 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 で、txt
の FULLTEXT
インデックスはインデックス 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 は次のオプションをサポートします。