没有直接的控制数据可以告诉您这一点,但是您可以设置一些机制。
如果启用了二进制日志记录,只需使用mysqlbinloggrep -i "analyze table"的输出对所有二进制日志执行a 操作即可。
如果您启用了常规日志,只需grep -i "analyze table"对常规日志文件执行 a 并找到与命令相关的时间戳即可。
您应该安排一个ANALYZE TABLE针对具有高写入、高更新、高删除量的所有表运行的 cronjob。这样就不需要猜测了。
尝试设置innodb_stats_on_metadata以对 InnoDB 表何时需要进行预测ANALYZE TABLE。(参见我的Mar 26, 2012帖子:
InnoDB表索引统计信息何时更新?)
过去我经常说ANALYZE TABLE针对InnoDB跑表是没有用的。
Jun 21, 2011:MySQL查询优化器从哪里读取索引统计信息?Aug 04, 2011:优化InnoDB默认设置Oct 16, 2011:突然必须重建索引以防止网站宕机希望MECHANISM #4这可能就是您所需要的。
| 归档时间: |
|
| 查看次数: |
8552 次 |
| 最近记录: |