奇怪的查询性能

时间:2017-06-24 06:50:46

标签: sql-server sql-execution-plan

我们使用RedGate的SQL监视工具来帮助识别我们的SQL Server的任何问题,并且每天早上都收到有关偏离其基线运行时间的工作的通知(运行大约3分钟而不是30秒)。

该作业将许多数据库表汇总到一个(让它调用)缓存表中,并在早上7点到晚上7点之间每隔5分钟运行一次。因此,在早上7点首次运行后,查询计划得到优化/缓存,所有后续执行运行得更快,这似乎是合乎逻辑的。

为了尝试避免这些通知,我们创建了一个新作业,该作业每天早上7点运行一次,其代码与周期性作业完全相同。然后,我们将定期工作移至上午7点05分开始。

奇怪的是,每天早上7点的工作只需要30秒的时间来执行,然而上午7点05分的重复工作的第一次工作仍然需要3分钟。

任何人都能解释一下吗?

是否有更有效的解决方案(保存执行计划或提供查询提示?)。

0 个答案:

没有答案