Sql-Server
在計劃記憶體中找不到編譯的參數值
我通過查詢儲存找到了一個平均執行 297582 次邏輯讀取的查詢。
我想看看我是否能夠稍微調整該查詢,然後嘗試再次執行該查詢以查看是否有任何改進。
問題是我在記憶體計劃中找不到編譯參數值。
我錯過了什麼嗎?也許某些原因/設置會阻止參數值的記憶體?
即使我以 XML 格式打開執行計劃,我也找不到參數。
附加資訊:查詢由第三方應用程序執行,該應用程序準備語句,然後使用
sp_prepare
and執行它們sp_execute
。
sp_prepare
不包括參數的編譯值,因為它不會“嗅探”它們。當使用它發出查詢時,基數估計是使用密度向量而不是統計直方圖進行的。我最近在這裡寫了一篇關於這個的部落格:
為什麼 sp_prepare 在性能方面不如 sp_executesql “好”
如果您閱讀部落格文章,我在此答案中使用的一些術語會得到更多解釋。