我们刚刚开始考虑从 SQL 2000 迁移到 SQL 2008,并注意到新的 CROSS APPLY 和 INNER APPLY 语法允许针对表值参数化 UDF 或相关子查询的“连接”形式。
显然,能够将逻辑封装在 UDF 中并能够在不同的查询中重用它会很好,但我确信功能是有代价的。
我在网上看了很多次,但我找不到任何性能指标来表明在使用基于 APPLY 的查询时,如果你内联相同的查询,你可能会得到多少性能影响。
我知道确切的影响将在很大程度上取决于特定的模式和查询,但我很好奇是否有人有任何调整现实世界系统的经验来分享这一点。