我使用 mysqltuner 来优化 mysql 服务器。它建议“运行 OPTIMIZE TABLE 来整理表碎片,以获得更好的性能”。我之前在单个数据库上做过这个,没有发现任何问题。现在,我在这个服务器上有几个客户的数据库,我犹豫着是否要对所有数据库使用优化和修复。这样做安全吗?我应该优化他们的数据库还是让他们来做?谢谢。
答案1
我宁愿把它留给顾客,如果只是因为OPTIMIZE TABLE
在操作期间锁定表。
答案2
我从来没有遇到过问题。我认为它和 MySQL 中的其他产品一样安全。
答案3
我肯定会将此安排在一个安静/非高峰的时间,并在之前和之后立即进行数据库转储,并进行比较(如果可能)。
当然,您可能需要考虑数据库性能下降的原因,并查看 mysql 慢查询日志,看看新的表布局是否可以防止问题发生。