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