我有一個存儲過程,每天運行九次,午夜過後。這不是一個理想的存儲過程,但你知道它是如何。沒有計劃能夠與現實保持聯繫。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