我有一个存储过程,每天运行九次,午夜过后。这不是一个理想的存储过程,但你知道它是如何。没有计划能够与现实保持联系。sql server存储过程中的首次运行缓慢
该存储过程通常需要大约一分钟的时间运行,给予或花费其处理的数据量的时间。但是,对于某个早晨的第一次运行,有时会花费过多的时间,有时甚至比通常花费的时间长得多(如果它完成的话)。如果我杀了它并重新启动它,它会正常运行。
我正在寻找一个优雅的解决方案 - 至少比我的第一个想法更优雅,那就是先打一个额外的跑步,先不要生成我使用的数据,并且可以容忍其中的失败。
有没有人见过这种行为?你是如何解决它的?
您是否使用任何动态SQL或非sargable参数? – Matthew 2011-02-14 18:33:50
并且是否有任何理由缓存存储过程执行计划一夜之间会丢失? – Rup 2011-02-14 18:34:39
@Rup:统计数据更新为 – gbn 2011-02-14 18:39:33