我们运行一个拥有大约 200 万个帖子的论坛,我注意到,如果不进行处理,mySQL 中的开销(phpMyAdmin 中所列)会变得相当大(数百兆字节)。
我想知道安排常规 mysqlcheck 来优化表是否是好的做法?有什么理由不这样做吗,比如说,每周一次,在非高峰时段?
夏天有一段时间,我们的网站不断崩溃,因为 mysql 耗尽了所有资源。那时我注意到了巨大的开销,并优化了数据库,从那时起就再也没有出现过稳定性问题。我想如果这有助于缓解问题,我应该设置一个 cron 来自动执行此操作。
答案1
除非必要,否则不这样做 mysqlcheck 的原因是 mysqlcheck 会获取数据库的读锁,只要持有读锁,就会阻止对锁定表的写入。
如果论坛不可用,那么通过 cron 安排 mysqlcheck 是有意义的,但不要太频繁。
//基督教