10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册 本手册节选

4.6.4.1 myisamchk通用选项

本节中描述的选项可用于执行的任何类型的表维护操作myisamchk.下面几节描述了仅适用于特定操作的选项,例如表检查或修复。

还可以使用设置以下变量--var_name价值语法:

变量 默认值
decode_bits 9
ft_max_word_len version-dependent
ft_min_word_len 4
ft_stopword_file 内置列表
key_buffer_size 523264
myisam_block_size 1024
myisam_sort_key_blocks 16
read_buffer_size 262136
sort_buffer_size 2097144
sort_key_blocks 16
stats_method nulls_unequal
write_buffer_size 262136

可能的myisamchk变量及其默认值可以检查myisamchk——帮助

myisam_sort_buffer_size是在键被修复时使用的排序键,这是您使用时的正常情况——恢复sort_buffer_size已弃用的同义词是myisam_sort_buffer_size

key_buffer_size当你在核对表格时使用——延长止或者当通过将键一行一行地插入到表中来修复键时(就像进行普通插入时一样)。通过关键缓冲区进行修复用于以下情况:

  • 你使用——safe-recover

  • 对密钥进行排序所需的临时文件将是直接创建密钥文件时的两倍多。当有较大的键值时,通常会出现这种情况字符VARCHAR,或文本列,因为排序操作在进行时需要存储完整的键值。如果你有很多临时空间,你可以强迫myisamchk要通过排序进行修复,可以使用——sort-recover选择。

通过键缓冲区进行修复所需的磁盘空间比使用排序少得多,但也慢得多。

如果您想要更快的修复,请设置key_buffer_size而且myisam_sort_buffer_size变量约占可用内存的25%。您可以将两个变量都设置为较大的值,因为一次只使用其中一个变量。

myisam_block_size用于索引块的大小。

stats_method影响如何属性时,将对值进行索引统计信息收集——分析给出了选项。它就像myisam_stats_method系统变量。有关详细信息,请参见myisam_stats_method章节5.1.8,“服务器系统变量”,第8.3.8节“InnoDB和MyISAM索引统计收集”

ft_min_word_len而且ft_max_word_len的最小和最大字长全文上的索引MyISAM表。ft_stopword_file命名停止字文件。这些需要在以下情况下设置。

如果你使用myisamchk要执行修改表索引的操作(例如修复或分析),可以使用全文除非另有指定,否则将使用最小和最大单词长度的默认全文参数值以及stopword文件重新构建索引。这可能导致查询失败。

出现这个问题是因为这些参数只有服务器知道。它们不存储在MyISAM索引文件。如果您修改了服务器中的最小或最大字长或停止字文件,要避免这个问题,请指定相同的字长或最大字长ft_min_word_lenft_max_word_len,ft_stopword_filemyisamchk你用它来mysqld.例如,如果将最小单词长度设置为3,则可以使用myisamchk是这样的:

Myisamchk——recover——ft_min_word_len=3tbl_name.MYI

为了确保myisamchk和服务器使用相同的值作为全文参数,你可以把每一个放在(mysqld)而且(myisamchk)选项文件的部分:

[mysqld] ft_min_word_len=3 [myisamchk] ft_min_word_len=3 .

使用的替代方案myisamchk就是使用修理表分析表优化表,或ALTER TABLE.这些语句由服务器执行,服务器知道要使用的正确的全文参数值。