Sql-Server

在計劃記憶體中找不到編譯的參數值

  • June 12, 2018

我通過查詢儲存找到了一個平均執行 297582 次邏輯讀取的查詢。

我想看看我是否能夠稍微調整該查詢,然後嘗試再次執行該查詢以查看是否有任何改進。

問題是我在記憶體計劃中找不到編譯參數值。

我錯過了什麼嗎?也許某些原因/設置會阻止參數值的記憶體?

即使我以 XML 格式打開執行計劃,我也找不到參數。

附加資訊:查詢由第三方應用程序執行,該應用程序準備語句,然後使用sp_prepareand執行它們sp_execute

完整的 XML 計劃

查詢儲存:在屬性選項卡中找不到任何參數

計劃記憶體 DMV:使用計劃記憶體

sp_prepare不包括參數的編譯值,因為它不會“嗅探”它們。當使用它發出查詢時,基數估計是使用密度向量而不是統計直方圖進行的。

我最近在這裡寫了一篇關於這個的部落格:

為什麼 sp_prepare 在性能方面不如 sp_executesql “好”

如果您閱讀部落格文章,我在此答案中使用的一些術語會得到更多解釋。

引用自:https://dba.stackexchange.com/questions/209382