![]() |
1
1
@lad2025发布的是一条路。也就是说,在计算/持久化列不是一个选项的情况下,将标量udf转换为内联表值函数(itvf)会使您受益。itvf的性能比用户定义的标量函数(标量udf)好得多,原因有很多,包括它们不像标量函数那样杀死并行性。 您可以将标量udf重写为itvf,如下所示:
你可以这样称呼它:
值得注意的是,使用varchar(max)数据类型非常昂贵。如果您可以使用varchar(8000)或更低的版本,那么您也将看到巨大的性能提升。在make_模型上使用类似这样的过滤非聚集索引可能也会有帮助:
|
![]() |
2
0
而不是自己的函数和嵌套多个
更好的方法是添加生成的持久化列
编辑:
|
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 8 月前 |
![]() |
Marc Guillot · 记录值时忽略冲突 8 月前 |
![]() |
Fachry Dzaky · 正确使用ROW_NUMBER 9 月前 |
![]() |
TriumphTruth · 从满足特定条件的数据集中选择1行 9 月前 |