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

标签 sql mysql

在 mysql 中我有 3 个表。一个是50万,另一个是30万,最后是5000左右

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

我应该对它们运行analyzeoptimize 表吗?如果是,那么多久一次?

最佳答案

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

只要索引数据的整体分布发生显着变化,就应该重做分析。因此,如果您随着时间的推移以相同的速率插入相同类型的内容——无需经常运行分析——也许每月进行一次。但是,如果情况发生巨大变化 - 以至于您获得的一种类型的数据比另一种类型的数据多得多,或者其他不寻常的数据 - 然后再运行它。

例如,我在加载一个包含数据的新表后运行它,如果您不知道的话,也许每周对所有对象运行一次它是个好主意。

关于sql - 分析表,优化表,多久一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2961899/

相关文章:

sql - 在 SQL Server 中使用 'Pivot' 将行转换为列

php - 根据 WordPress 中标题的一部分降序排序?

javascript - 如何根据 PHP 登录为每个用户加载自定义的 javascript 文件?

php - 如何在php中从服务器连接数据库?

php - PDO:setAttribute() 对 dblib 和 SQL Server 没有影响

mysql - SQL如何每次倒序选择一定数量的数据

mysql - 将 2 个具有不同列数的 select 语句组合在一起,其中第一个语句已使用 JOIN

php - yii findByAttributes 简单用法

mysql - 如果存在则更改表,如果不存在则创建

mysql - COUNT(*) 不与 group by 一起工作?