myisam_ftdump 显示 MyISAM 表中的全文本索引信息。它直接读取 MyISAM 索引文件,因此必须在服务器主机上运行该命令。在使用 myisam_ftdump 之前,确保先发出 FLUSH TABLES 语句,如果服务器正在运行。
myisam_ftdump 扫描并转储整个索引,这不是特别快。另一方面,单词分布变化不频繁,因此不需要经常运行。
使用以下方式调用 myisam_ftdump:
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 如下:
myisam_ftdump mytexttable 1
如果 test 数据库目录的路径名是 /usr/local/mysql/data/test,您也可以使用该路径名指定表名参数。这在您没有在数据库目录中调用 myisam_ftdump 时非常有用:
myisam_ftdump /usr/local/mysql/data/test/mytexttable 1
您可以使用 myisam_ftdump 生成按频率排序的索引条目列表,如 Unix 系统上的以下命令:
myisam_ftdump -c mytexttable 1 | sort -r
在 Windows 上,使用:
myisam_ftdump -c mytexttable 1 | sort /R
myisam_ftdump 支持以下选项:
-
--help,-h-?Command-Line Format --help显示帮助信息并退出。
-
--count,-cCommand-Line Format --count计算每个单词的统计信息(计数和全局权重)。
-
--dump,-dCommand-Line Format --dump转储索引,包括数据偏移量和单词权重。
-
--length,-lCommand-Line Format --length报告长度分布。
-
--stats,-sCommand-Line Format --stats报告全局索引统计信息。这是默认操作,如果没有指定其他操作。
-
--verbose,-vCommand-Line Format --verbose详细模式。打印程序执行的更多输出信息。