我们有一个mysql数据库运行5.0版。每个月我们都会为了维护而关闭数据库。我们在表上运行一个myisamchk来修复数据碎片,这会占用系统长达一个小时的时间。
通过cron每天运行optimize table以消除停机时间更好,还是有必要定期执行myisamchk?
发布于 2012-09-19 15:44:20
根据米萨姆奇 (重点雷)的参考资料:
您可以使用优化表SQL语句以同样的方式优化表。优化表进行表修复和键分析,并对索引树进行排序,从而使键查找速度更快。在实用程序和服务器之间也不可能发生不必要的交互,因为当您使用优化表时,服务器完成了所有的工作。
在服务器运行时,我会定期运行optimize table (正如您建议的那样,每月运行一次以上,因此操作完成得更快)。只有谨记:
注意,在运行时间优化表期间,MySQL会锁定表。
https://dba.stackexchange.com/questions/24530
复制相似问题