eine kurze Frage. Welcher Select ist performanter. Es sollen nur eine gewisse Anzahl Spalten in die dafür zuvor angelegte interne Struktur /Tabelle gelesen werden.
Natürlich der zweite. Noch besser ist es, wenn du das "corresponding fields" weg lässt und stattdessen die Struktur der Ziel-itab entsprechend gestaltest.
Ralf
EDIT: Ich korrigiere mich, der erste Aufruf ist besser, weil im zweiten eine Reihe von Syntaxfehlern sind *scnr
Zuletzt geändert von ralf.wenzel am 14.08.2008 14:54, insgesamt 1-mal geändert.
wäre mal interessant zu wissen, ob aus dem etwas "programmierfreundlicheren" Statement im Endeffekt nicht sogar der gleiche DB-Aufruf dabei herauskommt.
Was mir fehlt, ist die Definition der Tabelle zlt_bseg. Enthält sie aus der Tabelle bseg exakt die Felder mandt, bukrs, belnr, gjahr und buzei?
Denn wenn nicht, dann würden die beiden Selects unterschiedliche Ergebnisse liefern und defnitiv auch unterschiedlichen Zeitbedarf haben.
Enthält die Tabelle zlt_bseg dagegen wirklich nur die im zweiten Select genannten Spalten, nimmt sich das letztlich nichts:
Lässt man beide Versionen in der SE80 unter "Umfeld->Beispiele->Performance-Beispiele" gegeneinanderlaufen, scheint die "*"-Version ein wenig langsamer zu sein (wahrscheinlich minimal mehr Aufwand beim Erzeugen des DB-Aufruf, oder was meint Ihr?).
Baut man sie jeweils in einen Report und lässt den Trace (ST05) mitlaufen, so sieht es wie von babap vermutet nach dem gleichen DB-Aufruf aus.