Zitat Zitat von pwrdwnsys
Hallo Forum,

ich arbeite schon sehr lange auf der AS400 und kenne mich recht gut aus. Habe jetzt das Problem, das ein externes Produjt via JDBC auf eine S/20 zugreift, allerdings sind die Zugriffe sehr langsam. Es werden viele temporäre Zugriffspfade aufgebaut, so viel habe ich schon gesehen. Normalerweise starte ich bei so etwas immer den Debugger und werte das Joblog aus. Aber wie mache ich das bei den QZDASOINIT-Jobs ? Wie kriege ich hier die (sonst sehr guten) Vorschläge der AS400 für den optimalen Zugriffspfad ?

Wäre dankbar für einen kurzen Tip. Ich weiß zwar auch, das ich die Statements über einen Exit-Point in der Registrierung abfragen kann, aber das ist mir jetzt zu aufwändig. Wie immer muss es schnell gehen....
Die einfachste Methode ist über iSeries Navigator für den Job eine detaillierte Leistungs-Überwachung zu starten. Die einzelnen Statements und die benötigten Zeiten, können aufgelistet werden und über Visual Explain ausgewertet werden.
Visual Explain verfügt auch über einen Index Advisor, der die benötigten Indices vorschlägt. Die Indices können dann auch per Knopf-Druck erstellt werden.

Zusätzlich werden alle Informationen in Dateien geschrieben, die via Query oder SQL ausgewertet werden können.
Statt über iSeries Navigator kann der Database Monitor auch über den CL-Befehl STRDBMON gestartet werden.

Die folgende SQL-Abfrage ermittelt aus der DBMON-Protokoll-Datei die vorgeschlagenen Indices:
PHP-Code:
SELECT qqucntsubstr(qvqtbl110"Datei",                    
       
substr(qvqlib110"Bibliothek",                       
       
qqi2 "Anzahl Primary Keys",                               
       
Substr(qqidxd1100"Vorgeschlagene Schluessel",    
FROM MyLib/MyDBMON a                                         
WHERE qqrid IN 
(300030013002) and qqidxa='Y'                 
ORDER BY 32
Birgitta