在我上一份工作中,我们每周运行一次统计数据。如果我记得正确,我们在星期四晚上安排了他们,星期五,DBA非常小心地监视最长时间运行的查询是否有意外。 (星期五被选中,因为它经常是在代码发布之后,并且往往是一个相当低的交通日。)当他们看到一个坏的查询,他们会找到一个更好的查询计划,并保存,所以它不会再次意外地改变。 (Oracle具有自动执行此操作的工具,您可以将该查询通知给它进行优化)
许多组织避免运行统计数据,因为担心错误的查询计划突然出现。但这通常意味着他们的查询计划越来越糟糕。当他们做统计时,他们遇到了一些问题。由此导致的解决这些问题的争论证实了他们对运行统计数据的危害的担忧。但是,如果他们定期运行统计数据,就应该使用监控工具,并将问题固定下来,那么他们的头痛就会减少,而不会一次遇到。