Functions

將 Query Optimizer Fixes 設置為 ON 是否會在兼容級別為 140 的數據庫上啟用標量 UDF 內聯?

  • March 3, 2020

Azure SQL 數據庫託管實例。目前兼容性級別設置為 140 以匹配本地 SQL Server 2017 測試和開發伺服器。我剛剛閱讀了有關 Scalar UDF Inlining 的這篇文章,並且很好奇將 Query Optimizer Fixes 設置為 ON 是否會啟用此功能?我已經閱讀了更多關於該主題的文章,但沒有一篇文章解決了這個問題。

不,“查詢優化器修復”僅影響可能導致意外查詢計劃更改的優化器錯誤修復。它不啟用新功能。

啟用標量函式內聯的唯一方法是將數據庫兼容級別設置為 150:

啟用標量 UDF 內聯

通過為數據庫啟用兼容性級別 150,您可以使工作負載自動符合標量 UDF 內聯的條件。您可以使用 Transact-SQL 進行設置。例如:

ALTER DATABASE [WideWorldImportersDW] SET COMPATIBILITY_LEVEL = 150;

除此之外,無需對 UDF 或查詢進行其他更改即可利用此功能。

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