查看“Myisamchk 内存使用”的源代码
←
Myisamchk 内存使用
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
运行myisamchk时,内存分配很重要。myisamchk使用的内存不超过其内存相关变量设置的值。如果你要在非常大的表上使用myisamchk,你应该首先决定你想要它使用多少内存。默认情况下,只使用大约3MB进行修复。通过使用更大的值,你可以让myisamchk运行得更快。例如,如果你有超过512MB的可用RAM,你可以使用以下选项(除了你可能需要指定的任何其他选项): <pre>myisamchk --myisam_sort_buffer_size=256M \n --key_buffer_size=512M \n --read_buffer_size=64M \n --write_buffer_size=64M ...</pre> <br> 使用–myisam_sort_buffer_size=16M对于大多数情况可能足够了。 <blockquote>请注意,myisamchk在TMPDIR中使用临时文件。如果TMPDIR指向一个内存文件系统,可能会出现内存不足的错误。如果发生这种情况,请使用–tmpdir=dir_name选项指定一个位于具有更多空间的文件系统的目录来运行myisamchk。 </blockquote> 在进行修复操作时,myisamchk还需要大量的磁盘空间: <ul> <li><p>数据文件大小的两倍(原始文件和副本)。如果不使用–quick进行修复,则不需要此空间;在这种情况下,只有索引文件会被重新创建。此空间必须与原始数据文件位于同一文件系统上,因为副本是在原始文件所在的目录中创建的。</p></li> <li><p>替换旧索引文件的新索引文件的空间。在修复操作开始时,旧索引文件会被截断,因此通常可以忽略此空间。此空间必须与原始数据文件位于同一文件系统上。</p></li> <li><p>在使用–recover或–sort-recover(但不在使用–safe-recover)时,需要磁盘上的排序空间。此空间在临时目录(由TMPDIR或–tmpdir=dir_name指定)中分配。以下公式给出了所需的空间量:</p> <pre> (largest_key + row_pointer_length) * number_of_rows * 2</pre> <p>你可以使用myisamchk -dv tbl_name检查键的长度和row_pointer_length。row_pointer_length和number_of_rows值是表描述中的Datafile指针和Data记录值。要确定largest_key值,请检查表描述中的Key行。Len列表示每个键部分的字节数。对于多列索引,键大小是所有键部分Len值的总和。</p> <p>如果在修复过程中遇到磁盘空间问题,可以尝试使用–safe-recover而不是–recover。</p></li></ul> <br>
返回至“
Myisamchk 内存使用
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息