... zuerst muss man wissen was die Query Engine da so treibt, deshalb der STRDBMON, der protokolliert das mit *DETAIL raus (kostet < 1% Laufzeit, aber ziemlich viel Platten Platz). Diese Messung sollte man im Echtbetrieb mitlaufen lassen. Dann startet man den seefahrenden Chirurgen (Operations Navigator, oder wie das Teil gerade mal heißt) da gibt es einen Database Dingensbumens; da muss man dann die Messdaten importieren und sieht sich dann die Einzelstatement Ebene (absteigend sortiert nach Laufzeit) an. Wenn man ein wenig vertraut damit ist, findet man auch Informationen über Zugriffsplan: Interaktiv schnell und Batch langsam sieht nach full table scan, oder irgendwas anderem raffinierten aus, da hilft dann oft ein passender order by für die Ergebnismenge.

Bei großen Datenmengen (ein paar hundert Millionen) ist es im Batch oft vorteilhaft, zuerst temporäre Extracte zu ziehen, die man dann weiter verarbeitet, wenn die Anwendungslogik das zulässt.

D*B