分析表,优化表,多久一次?

时间:2010-06-02 21:56:05

标签: sql mysql

在mysql中我有3个表。一个是500,000,另一个是300,000,最后是大约5,000

他们每人每天可能增加50-500行

我应该在它们上面运行analyzeoptimize表吗?如果是这样,那么多久一次?

1 个答案:

答案 0 :(得分:6)

优化表重建InnoDB的表,因此可能需要花费很长时间才能运行。它用于回收空间和重新创建索引。我会说,如果有的话很少运行。 optimize table doc

只要索引数据的整体分布发生显着变化,就应该重新进行分析。因此,如果您随着时间的推移以相同的速率插入相同类型的内容 - 无需经常运行分析 - 可能每月执行一次。但是如果事情发生了巨大的变化 - 这样你就可以获得更多的一种数据而不是另一种数据 - 那么之后再运行它。

我在加载一个包含数据的新表之后运行它,如果你没有任何线索,也许一个好主意就是每周一次运行它。