Database Reference
In-Depth Information
Es kann sein, dass ein akutes Problem gar nichts mit Performanz zu tun hat, obwohl es
wie ein Performanz-Problem aussieht (s. das Beispiel im nächsten Abschnitt). Das bedeu-
tet, dass man bei Performance Tuning nicht unbedingt immer mit reinen Performanz-Pro-
blemen zu tun hat, sondern manchmal mit Problemen, die vom Performance Tuning sehr
weit entfernt sind. Das macht das Performance Tuning in meinen Augen noch attraktiver
und spannender.
2.1.1
Ein langsamer Delete
Eines Tages beschwerte man sich bei mir über eine sehr schlechte Performanz der DELETE-
Kommandos. Eins der problematischen Kommandos sah im AWR folgendermaßen aus.
*5283 61$3B,' 61$3B7,0(
64/B,' NMVZQT
(;(&87,216 52:6B352&(66(' 3$56(B&$//6
',6.B5($'6 %8))(5B*(76 ',5(&7B:5,7(6
',6.B5($'6B3(5B(; %8))(5B*(76B3(5B(; ',5(&7B:5,7(6B3(5B(;
52:6B352&(66('B3(5B(; 3$56(B&$//6B3(5B(;
',6.B5($'6B3(5B52: %8))(5B*(76B3(5B52:
&38B7,0(VHF (/$36('B7,0(VHF :$,7B7,0(VHF
&38B7,0(B3(5B(;VHF (/$36('B7,0(B352B(;VHF :$,7B7,0(B352B(;
VHF
3/64/B(;(&B7,0(VHF -$9$B(;(&B7,0(VHF
3/64/B(;(&B7,0(B3(5B(;VHF -$9$B(;(&B7,0(B352B(;VHF
$33/,&$7,21B:$,7B7,0(VHF &21&855(1&<B:$,7B7,0(VHF
&/867(5B:$,7B7,0(VHF 86(5B,2B:$,7B7,0(VHF
$33/,&$7,21B:$,7B7,0(B3(5B(;VHF &21&855(1&<B:$,7B7,0(B3(5B(;VHF
&/867(5B:$,7B7,0(B3(5B(;VHF 86(5B,2B:$,7B7,0(B3(5B(;VHF
)25&(B0$7&+,1*B6,*1$785(
237,0,=(5B02'( $//B52:6237,0,=(5B(19B+$6+B9$/8(
'(/(7()520;;;33,:+(5(NHQQXQJ
([HFXWLRQ3ODQ3ODQ+DVK9DOXH
'(/(7(67$7(0(172SWLPL]HU $//B52:6&RVW
'(/(7(2)33,%LQG3HHNLQJXVHG
,1'(;81,48(6&$12),';B33,B3.&RVW &DUG %\WHV &38B&RVW ,2B&RVW 7LPH
Tja, ca. 33 s Laufzeit (ELAPSED_TIME) für ein Löschen über Unique Index Scan waren in
der Tat merkwürdig. Die Laufzeitstatistiken (3,61 Buffer Gets und 3,15 Disk Reads pro eine
Ausführung) passten absolut nicht zu dieser Ausführungsdauer. Trotzdem überprüfte ich
für alle Fälle, ob die Tabelle PPI irgendwelche Trigger und Foreign Key Constrains hatte.
Ich fand nichts.
Da ich mit einem DELETE nicht experimentieren wollte, und ein SELECT über einen
Unique Index Scan meiner Meinung nach das jeweilige Problem nicht hätte nachstellen
können, aktivierte ich das SQL-Tracing für eine Session, welche den DELETE ausführte.
Das war eine glückliche Idee, weil ich am Anfang der Trace-Datei folgendes entdeckt habe.
Search WWH ::




Custom Search