Was die DEBUG-Nachrichten angeht, so bin ich auch inzwischen soweit, dass ich diesen nicht mehr ganz traue.
Auch wenn ich die vorgeschlagenen Zugriffspfade angelegt habe, werden diese manchmal nicht verwendet !
Dafür sind meine Erfahrungen mit den WITH-Konstrukten sehr gut.
Manchmal werden diese temporären Ergebnisse als Join aufgelöst (insbesonders wenn Zugriffspfade verwendet werden können und auch werden), häufig aber tatsächlich eine temporäre Table (*QUERYnnnnn) erstellt.
Der Vorteil liegt meistens in dem Konstrukt
"where field [not] in (select ...)"
Hier ist das Problem, dass ich nur 1 Spalte im Ergebnis haben darf ich aber (Mandantenfähigkeit) eigentlich eine Kombination benötige. Bei einem WITH-Konstrukt war der Zugriff dann um Faktor 10.000 schneller !
Beispiel:
Es wurden tatsächlich 2 temporäre Tabellen erstellt (*QUERY0001, *QUERY0002) und die Auswertung lief superschnell.Code:with xTmp1 as (select f1, f2, f3, f4 concat f5 as fx from table1 where ...) , xTmp2 as (select h4 concat h5 as hx from table2 where ...) select * from xTmp1 where fx in (select hx from xTmp2)
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks