Functions
將 Query Optimizer Fixes 設置為 ON 是否會在兼容級別為 140 的數據庫上啟用標量 UDF 內聯?
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 或查詢進行其他更改即可利用此功能。