Sql-Server

為什麼我不使用 SQL Server 選項“針對臨時工作負載進行優化”?

  • November 17, 2020

我一直在閱讀 Kimberly Tripp 撰寫的一些關於 SQL Server 計劃記憶體的精彩文章,例如: http ://www.sqlskills.com/blogs/kimberly/plan-cache-and-optimizing-for-adhoc-workloads/

為什麼甚至還有“針對臨時工作負載進行優化”的選項?這不應該一直開嗎?無論開發人員是否使用 ad-hoc SQL,為什麼不在每個支持它的實例上啟用此選項(SQL 2008+),從而減少記憶體膨脹?

SQL Server 開發團隊的工作原則是最少意外 - 因此 SQL Server 通常會禁用新功能,以保持與以前版本一樣的行為。

是的,針對臨時工作負載進行優化非常適合減少計劃記憶體膨脹 - 但始終先對其進行測試!


Kalen Delaney 講述了一個有趣的軼事,她問她的一位 Microsoft 工程師朋友是否存在不適合啟用此功能的情況。幾天后他回來說 - 想像一個應用程序有很多不同的查詢,每個查詢總共執行兩次。那麼可能就不合適了。可以說這樣的應用程序並不多!

如果您的大多數查詢執行了多次(不完全是兩次);這可能是不合適的。如果數據庫上有很多一次性使用的即席查詢,一般規則是打開它;但是,這樣的應用程序仍然不多。

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