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