4.6.3.4 其他 myisamchk 选项

myisamchk支持除 table 检查和修复以外的其他操作选项:

分析键值的分布。通过使联接优化器更好地选择联接 table 的 Sequences 和应使用的索引,可以提高联接性能。要获取有关密钥分发的信息,请使用myisamchk --description --verbose tbl_name命令或SHOW INDEX FROM tbl_name语句。

查找给定偏移量的块所属的记录。

打印有关 table 的一些描述性信息。一次或两次指定--verbose选项会产生其他信息。参见第 4.6.3.5 节“使用 myisamchk 获取 table 信息”

强制为新记录的AUTO_INCREMENT编号从给定值开始(或更高,如果存在具有AUTO_INCREMENT值如此之大的现有记录)。如果未指定* value *,则新记录的AUTO_INCREMENT数字以 table 中当前的最大值加 1 开头。

按从高到低的 Sequences 对索引树块进行排序。这样可以优化查找,并使使用索引的 table 扫描更快。

根据特定索引对记录进行排序。这使您的数据更加本地化,并可以加快使用此索引的基于范围的SELECTORDER BY操作。 (第一次使用此选项对 table 进行排序时,它可能会非常慢.)要确定 table 的索引号,请使用SHOW INDEX,它以与myisamchk看到它们的 Sequences 相同的 Sequences 显示 table 的索引。索引从 1 开始编号。

如果没有打包键(PACK_KEYS=0),则它们具有相同的长度,因此当myisamchk对记录进行排序和移动时,它只会覆盖索引中的记录偏移量。如果键已打包(PACK_KEYS=1),则myisamchk必须先解压缩键块,然后重新创建索引并再次打包键块。 (在这种情况下,重新创建索引比更新每个索引的偏移量要快.)