Sql-Server
參數嗅探 = On 參數化 = 強制。哪個優先?
這兩個設置似乎相互矛盾。一種是強制計劃參數化,以便只創建一個計劃。另一個允許多個計劃
如果你有參數化=強制,參數嗅探應該是假的,還是優先?
額外細節
關於下面的評論,參數嗅探是 SS 2016 的數據庫範圍選項。(對我來說也很驚訝)。另請參閱:SQLShack:SQL Server 2016 參數嗅探
這些並不衝突。參數嗅探是在建構計劃時使用參數值的過程。強制參數化將文字轉換為查詢中的參數。
因此,兩者都打開會將文字轉換為參數,但在估計基數時不使用這些值。
參數化和嗅探是獨立的活動。SQL Server 可以對 ad-hoc 語句進行參數化,而無需嗅探參數值。
Paul White 有一篇關於Parameter Sniffing、Embedding 和 RECOMPILE Options的優秀部落格文章,其中詳細介紹了 Parameter Sniffing 和參數化以及範例。