Sql-Server

參數嗅探 = On 參數化 = 強制。哪個優先?

  • December 4, 2018

這兩個設置似乎相互矛盾。一種是強制計劃參數化,以便只創建一個計劃。另一個允許多個計劃

如果你有參數化=強制,參數嗅探應該是假的,還是優先?

額外細節

關於下面的評論,參數嗅探是 SS 2016 的數據庫範圍選項。(對我來說也很驚訝)。另請參閱:SQLShack:SQL Server 2016 參數嗅探

這些並不衝突。參數嗅探是在建構計劃時使用參數值的過程。強制參數化將文字轉換為查詢中的參數。

因此,兩者都打開會將文字轉換為參數,但在估計基數時不使用這些值。

更多關於參數嗅探

更多關於強制參數化

參數化和嗅探是獨立的活動。SQL Server 可以對 ad-hoc 語句進行參數化,而無需嗅探參數值。

Paul White 有一篇關於Parameter Sniffing、Embedding 和 RECOMPILE Options的優秀部落格文章,其中詳細介紹了 Parameter Sniffing 和參數化以及範例。

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