这两个视图中哪一个需要较少的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操作符相同。有关更多信息,请参阅With the concatenation operator。
所以,最终的答案是:它们是一样的。但是,IBM确实有这样的说法:
垂直条(或某些国家/地区必须使用的字符代替垂直条)可能会导致从一个DBMS传递到另一个DBMS的语句中的解析错误。如果语句使用源和目标CCSID的某些组合进行字符转换,则会出现此问题。因此,CONCAT是优选的连接运算符。
我不认为会有性能差异,但使用管道 - 使其更容易阅读。
为什么不简单呢
创建视图VIEW1作为选择A concat B concat C concat D concat E concat F concat F concat G concat H concat I from TABLE