2013-03-05 11 views
6

Quale di queste due viste richiede meno CPU?DB2 concat vs double pipe

Attualmente sto controllando le frasi di alcune visualizzazioni e ho bisogno di sapere se c'è un miglioramento delle prestazioni se le funzioni concat sono sostituite da doppi tubi.

+0

Sarei ** molto ** sorpreso se ci fosse qualche differenza di prestazioni misurabile. –

+0

La funzione concat è la stessa dell'operatore concat? Probabilmente la differenza di prestazioni è ther http://www-01.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000781.html?cp=SSEPGG_10. 5.0% 2F2-12-4-1-25 - http://www-01.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000736. html? cp = SSEPGG_10.5.0% 2F2-12-2-10 L'operatore di concat è un alias della funzione concat? quindi chiamare un alias è un po 'più costoso. Ma non ne sono sicuro. – AngocA

risposta

11

Da Information Center:

La funzione CONCAT è identica all'operatore CONCAT. Per ulteriori informazioni su , vedere With the concatenation operator.

Quindi, la risposta definitiva è: sono gli stessi. Tuttavia, IBM ha questo da dire:

barre verticali (oi caratteri che devono essere utilizzati al posto di barre verticali in alcuni paesi) può causare errori di parsing in dichiarazioni passati da un DBMS all'altro. Il problema si verifica se l'istruzione subisce la conversione di caratteri con determinate combinazioni di CCSID di origine e destinazione . Pertanto, CONCAT è l'operatore di concatenazione preferibile.

+0

Stai rispondendo a tutte le mie domande su DB2 prima che le chieda. –

1

Non credo che ci saranno differenze di prestazioni, ma l'uso di tubi rende più facile la lettura.