Brent Ozar looks at improvements the SQL Server team has made to scalar functions in 2019:
My database has to be in 2019 compat mode to enable Froid, the function-inlining magic. Run the same query again, and the metrics are wildly different:
-
Runtime: 4 seconds
-
CPU time: 4 seconds
-
Logical reads: 3,247,991 (which still sounds bad, but bear with me)
My bias tells me that I still want to avoid scalar functions, but it’s no longer the automatic deal-killer it once was.