10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国高级主任)- 41.6 mb
PDF (A4)- 41.7 mb
手册页(TGZ)- 262.2 kb
手册页(Zip)- 372.3 kb
信息(Gzip)- 4.0 mb
信息(邮政编码)- 4.0 mb
本手册节选

4.6.4.6 myisamchk内存使用情况

运行时,内存分配非常重要myisamchkmyisamchk使用的内存不超过其内存相关变量的设置值。如果你打算使用myisamchk对于非常大的表,首先应该决定希望它使用多少内存。默认情况下只使用大约3MB来执行修复。通过使用较大的值,可以得到myisamchk操作更快。例如,如果你有超过512MB的可用RAM,你可以使用这些选项(除了你可能指定的任何其他选项):

myisamchk——myisam_sort_buffer_size=256M \——key_buffer_size=512M \——read_buffer_size=64M \——write_buffer_size=64M…

使用——myisam_sort_buffer_size = 16 m对于大多数情况来说可能已经足够了。

请注意myisamchk使用临时文件TMPDIR.如果TMPDIR对于一个内存文件系统,很容易发生内存不足的错误。如果发生这种情况,快跑myisamchk——tmpdir =dir_name选项,指定位于具有更大空间的文件系统上的目录。

在进行维修操作时,myisamchk也需要大量的磁盘空间:

  • 数据文件大小的两倍(原始文件和副本)。如果使用。进行修复,则不需要此空间——快速;在这种情况下,只重新创建索引文件。此空间必须在与原始数据文件相同的文件系统上可用,因为副本是在与原始文件相同的目录中创建的。

  • 替换旧索引文件的新索引文件的空间。旧的索引文件在修复操作开始时被截断,因此通常忽略这个空格。此空间必须在与原始数据文件相同的文件系统上可用。

  • 当使用——恢复——sort-recover(但在使用时不是这样——safe-recover),你需要磁盘上的空间来排序。此空间分配在临时目录(由TMPDIR——tmpdir =dir_name).所需的空间大小如下公式所示:

    largest_key+row_pointer_length) *number_of_rows* 2

    你可以检查钥匙的长度和row_pointer_lengthmyisamchk dvtbl_name(见第4.6.4.5节“使用myisamchk获取表信息”).的row_pointer_length而且number_of_rows值是数据文件指针而且数据记录表描述中的值。要确定largest_key值,检查关键表描述中的行。的Len列表示每个关键部分的字节数。对于多列索引,键大小为Len所有关键部件的值。

如果在修复期间遇到磁盘空间问题,可以尝试——safe-recover而不是——恢复