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
,-c
Command-Line Format --count
计算每个词语的统计信息(计数和全局权重)。
-
--dump
,-d
Command-Line Format --dump
将索引 Dump 到文件中,包括数据偏移量和词语权重。
-
--length
,-l
Command-Line Format --length
报告长度分布。
-
--stats
,-s
Command-Line Format --stats
报告全局索引统计信息。如果没有指定其他操作,这将是默认操作。
-
--verbose
,-v
Command-Line Format --verbose
详细模式。打印程序执行的更多输出信息。