我們有一個每小時更新一次的數據庫。對於更新或插入的每一行使用DELETE/INSERT的應用程序進行更改。 SQL Server是2008 R2標準版。用於填充計劃緩存的即席查詢的SQL Server執行計劃
即席查詢的查詢執行計劃正在推出其他(更重要,更大的)執行計劃,這些計劃正在影響對該數據庫的報告並進入數據緩存。
查看計劃緩存後,我們發現(如預期的那樣)SQL正在爲每個查詢生成一個新計劃。
我的問題是,會創建一個計劃指南停止SQL爲每個更新生成一個新的計劃?
我在緩存中看到,例如,對於float列的更新,SQL將其參數化爲每次變化長度的數字,這意味着每個參數化查詢都是不同的。如果我使用查詢的參數化版本創建計劃指南,爲每個列指定正確的數據類型,這是否會強制SQL使用此計劃?
我知道使用存儲過程將解決這個問題,但是由於其他原因,這不是一個選項。
謝謝。
謝謝,但我忘了說,我已啓用此。不幸的是我們還沒有看到任何真正的改善 – Chris
你能清除proc緩存嗎? (是的,提到你打開這個事實是一個遺漏......) –
3444答案,2個問題。 – dikidera