myisamchk 支持以下选项,用于执行除表检查和修复之外的操作
--analyze,-a命令行格式 --analyze分析键值的分布情况。这通过使连接优化器能够更好地选择连接表的顺序以及应使用哪些索引来提高连接性能。若要获取有关键值分布的信息,请使用 myisamchk --description --verbose
tbl_name命令或SHOW INDEX FROM语句。tbl_name--block-search=,offset-boffset命令行格式 --block-search=offset类型 数值 查找给定偏移量的块所属的记录。
--description,-d命令行格式 --description打印有关表的某些描述信息。指定
--verbose选项一次或两次将产生更多信息。请参见 第 6.6.4.5 节,“使用 myisamchk 获取表信息”。--set-auto-increment[=,value]-A[value]强制将新记录的
AUTO_INCREMENT编号设置为给定值(或更高,如果存在具有此大小的AUTO_INCREMENT值的现有记录)。如果未指定value,则新记录的AUTO_INCREMENT编号将从当前表中最大的值加 1 开始。--sort-index,-S命令行格式 --sort-index按高低顺序对索引树块进行排序。这将优化查找,并使使用索引的表扫描更快。
--sort-records=,N-RN命令行格式 --sort-records=#类型 数值 根据特定索引对记录进行排序。这将使您的数据更加本地化,并且可以加速使用此索引的基于范围的
SELECT和ORDER BY操作。(第一次使用此选项对表进行排序时,可能非常慢。)若要确定表的索引编号,请使用SHOW INDEX,它将按 myisamchk 所见的相同顺序显示表的索引。索引从 1 开始编号。如果键未打包 (
PACK_KEYS=0),则它们具有相同的长度,因此当 myisamchk 对记录进行排序和移动时,它只需覆盖索引中的记录偏移量。如果键已打包 (PACK_KEYS=1),则 myisamchk 必须先解压缩键块,然后重新创建索引并重新打包键块。(在这种情况下,重新创建索引比更新每个索引的偏移量更快。)