mysql中OPTIMIZE TABLE的作用及使用

2019-05-01 00:20:53 11000

1、删除了表的一大部分;

2、已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的表)进行了很多更改。

--------------------------------------------------------------------------------------------

作用:

利用未使用的空间,释放出来,并整理数据文件的碎片。

--------------------------------------------------------------------------------------------

频率:

不需要经常运行,每周一次或每月一次。

--------------------------------------------------------------------------------------------

适用范围:

OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用。
--------------------------------------------------------------------------------------------

注意事项:

1、在OPTIMIZE TABLE运行过程中,MySQL会锁定表。如果涉及海量的数据表,应该考虑使用一些运维手段避免现网的服务受到影响。

 

2、使用alter table table_name engine=innodb也可以同样达到释放空洞的效果。这是由于在转换数据引擎(即便没有真正转换)的时候,mysql也会将表中的数据读取出来,再重新写入,在这个过程中,空洞自然就没有了。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: