DB2 concat vs双管道

问题描述 投票:6回答:3

这两个视图中哪一个需要较少的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
performance db2 double pipe concat
3个回答
11
投票

来自Information Center

CONCAT功能与CONCAT操作符相同。有关更多信息,请参阅With the concatenation operator

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

垂直条(或某些国家/地区必须使用的字符代替垂直条)可能会导致从一个DBMS传递到另一个DBMS的语句中的解析错误。如果语句使用源和目标CCSID的某些组合进行字符转换,则会出现此问题。因此,CONCAT是优选的连接运算符。


1
投票

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


0
投票

为什么不简单呢

创建视图VIEW1作为选择A concat B concat C concat D concat E concat F concat F concat G concat H concat I from TABLE

© www.soinside.com 2019 - 2024. All rights reserved.