Performance DB2Concat与双管道

Performance DB2Concat与双管道,performance,db2,double,pipe,concat,Performance,Db2,Double,Pipe,Concat,这两个视图中的哪一个需要更少的CPU 我目前正在检查一些视图的语句,需要知道如果用双管替换concat函数,是否会有一些性能改进 create view VIEW1 as select concat(concat(concat(concat(concat(concat(concat(concat(concat(A, B),C),D),E),F),F),G),H),I) from TABLE create view VIEW2 as select A||B||C||D||E||F||G||H||

这两个视图中的哪一个需要更少的CPU

我目前正在检查一些视图的语句,需要知道如果用双管替换concat函数,是否会有一些性能改进

create view VIEW1 as
select concat(concat(concat(concat(concat(concat(concat(concat(concat(A, B),C),D),E),F),F),G),H),I) from TABLE

create view VIEW2 as
select A||B||C||D||E||F||G||H||I from TABLE

我不认为会有性能上的差异,但使用管道会更容易阅读

来自:

CONCAT函数与CONCAT运算符相同。更多 有关详细信息,请参阅

所以,最终的答案是:它们是一样的。然而,IBM确实有这样的说法:

垂直条(或必须用于替换的字符) 竖线(在某些国家/地区)可能会导致中的解析错误 语句从一个DBMS传递到另一个DBMS。如果 语句将通过以下特定组合进行字符转换: 源和目标CCSID。因此,CONCAT是最好的 串联运算符

为什么不干脆做呢

将视图1创建为
从表中选择一个concat B concat C concat D concat E concat F concat F concat G concat H concat I,如果有任何可测量的性能差异,我会非常惊讶。concat功能与concat操作符相同吗?可能性能上的差异在于-Concat操作符是Concat函数的别名?那么调用别名就要贵一点。但我不确定,在我提问之前,您已经回答了我所有的DB2问题。