myisamchk 支持以下选项,用于执行除表检查和修复之外的操作
--analyze
,-a
命令行格式 --analyze
分析键值的分布。这通过使联接优化器能够更好地选择联接表的顺序以及应该使用哪些索引来提高联接性能。要获取有关键值分布的信息,请使用 myisamchk --description --verbose
tbl_name
命令或SHOW INDEX FROM
语句。tbl_name
--block-search=
,offset
-b
offset
命令行格式 --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
-R
N
命令行格式 --sort-records=#
类型 数值 根据特定索引对记录进行排序。这将使您的数据更加本地化,并可能加速使用此索引的基于范围的
SELECT
和ORDER BY
操作。(第一次使用此选项对表进行排序时,可能非常慢。)要确定表的索引编号,请使用SHOW INDEX
,它以 myisamchk 看到的相同顺序显示表的索引。索引从 1 开始编号。如果键未打包 (
PACK_KEYS=0
),它们具有相同的长度,因此当 myisamchk 对记录进行排序和移动时,它只是覆盖索引中的记录偏移量。如果键已打包 (PACK_KEYS=1
),myisamchk 必须首先解压缩键块,然后重新创建索引并再次打包键块。(在这种情况下,重新创建索引比更新每个索引的偏移量更快。)