我们有一个总是遇到性能问题的大包。我们在一个月内平均收到 6 到 10 份针对此问题的票。有时程序会成功运行几分钟,有时它会运行几天只是因为出现无法解释的错误而出错。
我开始对此进行深入研究,发现性能问题的可能原因有很多,例如大量未调整的 SQL 和糟糕的编码习惯等。
今天让我印象深刻的一件事是在代码中,它在执行一些大操作(例如巨大的 Select 语句和许多 DML 语句)之前在多个地方多次调用 Gather Table Statistics。
该计划每天、每周和每月运行一次,具体取决于组织的实践。
不幸的是,我无法复制性能问题以了解更多信息,但我猜测多次将 Gather Table 统计信息运行到多个表,可能会导致程序出现重大性能问题。我找不到任何资源来支持这个想法。有人可以确认吗?