已经有很多关于SQL Server中标量 UDF的危险的文章。随意搜索将返回大量结果。
不过,有些地方标量 UDF 是唯一的选择。
例如:处理 XML 时:XQuery 不能用作计算列定义。Microsoft 记录的一种选择是使用标量 UDF将 XQuery 封装在标量 UDF 中,然后在计算列中使用它。
这会产生各种影响和一些解决方法。
您可以通过对函数进行架构绑定来绕过逐行执行,并保留计算列或对其进行索引。即使未引用标量 UDF,这两种方法都不能阻止强制序列化查询表。
有没有一种已知的方法可以做到这一点?