Repair with keycache产生的原因和解决方法

PHP中文网
PHP中文网 原创
2017-03-13 15:50:16 2255浏览

今天给一个MyISAM的大表加索引,临时表MYD文件的大小增长非常慢,到了MYD文件创建完成后,却发现MYI文件很小,ALTER TABLE语句始终不能结束,登录MYSQL查看show processlist;发现,ALTER TABLE语句在“Repair with keycache”状态。

于是想到,myisam_max_sort_file_size参数我们设置的是10G,但是现在这个文件正好>10G一点点,于是不能用tmpdir指定的目录排序索引。于是增加myisam_max_sort_file_size参数到20G,再次ALTER TABLE,首先MYD文件的创建速度就快了非常多,MYD文件创建结束后,MYI文件开始增长,查看processlist,发现在“Repair by sorting”状态,很快表创建完成。
如果遇到类似的情况,你可以一试。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。