在 mysql 中我有 3 个表。一个是50万,另一个是30万,最后是5000左右
他们每个人每天可能增加 50-500 行
我应该对它们运行analyze
和optimize
表吗?如果是,那么多久一次?
最佳答案
optimize table 为 InnoDB 重建表,因此它可能需要很长时间才能运行。它用于回收空间和重新创建索引。如果有的话,我会说很少运行。 optimize table doc
只要索引数据的整体分布发生显着变化,就应该重做分析。因此,如果您随着时间的推移以相同的速率插入相同类型的内容——无需经常运行分析——也许每月进行一次。但是,如果情况发生巨大变化 - 以至于您获得的一种类型的数据比另一种类型的数据多得多,或者其他不寻常的数据 - 然后再运行它。
例如,我在加载一个包含数据的新表后运行它,如果您不知道的话,也许每周对所有对象运行一次它是个好主意。
关于sql - 分析表,优化表,多久一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2961899/