6.6.3 MyISAM 表维护实用程序 — myisamchk
myisam_ftdump 显示了在 MyISAM 表中FULLTEXT 索引的信息。它直接读取 MyISAM 索引文件,因此必须在表所在服务器主机上运行。在使用myisam_ftdump 之前,确保先执行 FLUSH TABLES 语句,如果服务器正在运行。
myisam_ftdump 扫描并将整个索引dump出来,这不是特别快的操作。另一方面,词语分布变化不频繁,因此不需要经常运行。
使用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-like系统上生成索引条目列表,按出现频率排序,如下所示:
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将索引 Dump 到文件中,包括数据偏移量和词语权重。
-
--length,-lCommand-Line Format --length报告长度分布。
-
--stats,-sCommand-Line Format --stats报告全局索引统计信息。如果没有指定其他操作,这将是默认操作。
-
--verbose,-vCommand-Line Format --verbose详细模式。打印程序执行的更多输出信息。