共用方式為


針對特定工作負載最佳化伺服器組態選項

optimize for ad hoc workloads 選項是用來針對包含許多使用一次特定批次的工作負載,改善計畫快取的效率。 當此選項設定為 1 時,Database Engine 會在第一次編譯批次時,將小型編譯計畫存根儲存在計畫快取中,而不是完整編譯的計畫。 這會透過避免計畫快取填滿不重複使用的已編譯計畫,協助減輕記憶體不足的壓力。

已編譯計劃虛設常式可讓資料庫引擎辨識出這個特定批次先前已經編譯,但只儲存已編譯計劃虛設常式,如此再次叫用 (編譯或執行) 這個批次時,資料庫引擎就會編譯此批次、從計劃快取中移除已編譯計劃虛設常式,並且將完整的已編譯計劃新增至計劃快取。

optimize for ad hoc workloads 設定為 1 只會影響新的計畫。已經存在計畫快取中的計畫則不會受到影響。

已編譯計畫虛設常式是 sys.dm_exec_cached_plans 目錄檢視所顯示的其中一個 cacheobjtype。 它具有唯一的 SQL 控制代碼和計畫控制代碼。 已編譯計畫虛設常式沒有相關聯的執行計畫,因此查詢計畫控制代碼將不會傳回 XML 執行程序表。

追蹤旗標 8032 會將快取限制參數還原為SQL Server 2005 RTM 設定,一般允許快取變大。 當經常重複使用的快取項目無法納入快取中,以及 針對特定工作負載最佳化伺服器組態選項 無法解決計畫快取的問題時,請使用這項設定。

警告

如果大型快取為其他記憶體取用者 (例如緩衝集區) 提供較少的記憶體,追蹤旗標 8032 可能會導致效能降低。

另請參閱

sys.dm_exec_cached_plans (Transact-SQL)
伺服器組態選項 (SQL Server)