29.12.2013 Aufrufe

Fehlerbehebung und Optimieren der Datenbankleistung

Fehlerbehebung und Optimieren der Datenbankleistung

Fehlerbehebung und Optimieren der Datenbankleistung

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

ELSE<br />

0<br />

END as AVG_CPU_TIME,<br />

EXECUTABLE_ID,<br />

VARCHAR(STMT_TEXT, 200) AS TEXT<br />

FROM TABLE(MON_GET_PKG_CACHE_STMT ( ’D’, NULL, NULL, -2)) as T<br />

WHERE T.NUM_EXEC_WITH_METRICS 0 AND STMT_TYPE_ID LIKE ’DML%’<br />

GROUP BY EXECUTABLE_ID, VARCHAR(STMT_TEXT, 200)<br />

ORDER BY AVG_CPU_TIME DESC<br />

Dieser SQL-Code ist so geschrieben, dass die Teilung durch 0 vermieden wird,<br />

wenn die durchschnittliche Prozessorzeit für die Teilkomponenten berechnet<br />

wird. Mit diesem Code werden auch ausschließlich DML-Anweisungen untersucht,<br />

da die EXPLAIN-Funktion nicht mit DDL-Anweisungen arbeitet. Diese<br />

Abfrage ergibt folgende Ergebnisse:<br />

SECTION_TYPE AVG_CPU_TIME EXECUTABLE_ID TEXT<br />

------------ -------------------- ------------------------------------------------------------------- --------------------------------------------------<br />

D<br />

250000 x’01000000000000005F0000000000000000000000020020101108135629359000’ select cust_last_name, cust_cc_number, cust_intere<br />

SQL0445W Value "SELECT POLICY FROM SYSTOOLS.POLICY WHERE MED=’DB2TableMainte"<br />

has been truncated. SQLSTATE=01004<br />

D<br />

15625 x’01000000000000001B0000000000000000000000020020101108135017625000’ UPDATE SYSTOOLS.HMON_ATM_INFO SET STATS_LOCK = ’N’<br />

D<br />

15625 x’0100000000000000200000000000000000000000020020101108135018296001’ UPDATE SYSTOOLS.HMON_ATM_INFO AS ATM SET ATM.STATS<br />

D<br />

15625 x’0100000000000000210000000000000000000000020020101108135018312001’ UPDATE SYSTOOLS.HMON_ATM_INFO AS ATM SET STATS_FLA<br />

D 7812 x’0100000000000000150000000000000000000000020020101108135016984000’ SELECT COLNAME, TYPENAME FROM SYSCAT.COLUMNS WHER<br />

D 0 x’0100000000000000160000000000000000000000020020101108135017156000’ SELECT TRIGNAME FROM SYSCAT.TRIGGERS WHERE TABNAM<br />

D 0 x’0100000000000000190000000000000000000000020020101108135017484000’ SELECT TABNAME FROM SYSCAT.TABLES WHERE TABNAME=’<br />

D 0 x’01000000000000001A0000000000000000000000020020101108135017500000’ SELECT TABNAME FROM SYSCAT.TABLES WHERE TABNAME=’<br />

D<br />

0 x’01000000000000001C0000000000000000000000020020101108135017750002’ SELECT CREATOR, NAME, CTIME FROM SYSIBM.SYSTABLES<br />

D<br />

0 x’01000000000000001D0000000000000000000000020020101108135017828001’ SELECT CREATE_TIME FROM SYSTOOLS.HMON_ATM_INFO WHE<br />

D<br />

0 x’01000000000000001E0000000000000000000000020020101108135018000001’ DELETE FROM SYSTOOLS.HMON_ATM_INFO AS ATM WHERE NO<br />

D<br />

0 x’01000000000000001F0000000000000000000000020020101108135018093000’ SELECT POLICY FROM SYSTOOLS.POLICY WHERE MED=’DB2T<br />

D<br />

0 x’0100000000000000220000000000000000000000020020101108135018328001’ SELECT IBM.TID, IBM.FID FROM SYSIBM.SYSTABLES AS I<br />

D<br />

0 x’0100000000000000230000000000000000000000020020101108135018343001’ SELECT POLICY FROM SYSTOOLS.POLICY WHERE MED=’DB2C<br />

14 record(s) selected with 1 warning messages printed.<br />

2. Generieren Sie auf <strong>der</strong> Basis <strong>der</strong> Ausgabe für diese Abfrage mit <strong>der</strong> Prozedur<br />

EXPLAIN_FROM_SECTION EXPLAIN-Informationen aus dem Abschnitt für<br />

die Anweisung mit <strong>der</strong> größten CPU-Belastung:<br />

CALL EXPLAIN_FROM_SECTION (x’01000000000000005F0000000000000000000000020020101108135629359000’ ,’M’, NULL, 0, NULL, ?, ?, ?, ?, ? )<br />

Die Ausgabe <strong>der</strong> Prozedur EXPLAIN_FROM_SECTION sieht wie folgt aus:<br />

Wert <strong>der</strong> Ausgabeparameter<br />

--------------------------<br />

Parametername: EXPLAIN_SCHEMA<br />

Parameterwert: DB2DOCS<br />

Parametername: EXPLAIN_REQUESTER<br />

Parameterwert: DB2DOCS<br />

Parametername: EXPLAIN_TIME<br />

Parameterwert: 2010-11-08-13.57.52.984001<br />

Parametername: SOURCE_NAME<br />

Parameterwert: SQLC2H21<br />

Parametername: SOURCE_SCHEMA<br />

Parameterwert: NULLID<br />

Parametername: SOURCE_VERSION<br />

Parameterwert:<br />

3. Jetzt können Sie die EXPLAIN-Informationen untersuchen, indem Sie die EXP-<br />

LAIN-Tabellen mit SQL untersuchen o<strong>der</strong> mit dem Befehl db2exfmt die Informationen<br />

so formatieren, dass ihre Lesbarkeit verbessert wird. Wenn Sie beispielsweise<br />

den Befehl db2exfmt -d gsdb -e db2docs -w 2010-11-08-<br />

Kapitel 3. Faktoren mit Auswirkung auf die Leistung 337

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!