Re: Korrektur des Sqls


[ ruban.de ] [ Antworten ] [ Forum ]

Geschrieben von Gernot Ruban am Oktober 24, 2003 um 18:05:

Als Antwort auf Korrektur des Sqls geschrieben von Stefanie on Oktober 24, 2003 um 08:22:

Hallo Stefanie,

nun wurde doch alles etwas klarer. Die Angabe OPTIMIZE FOR 1 ROW kann schlechten Einfluss auf die Performance haben, was daran liegt, dass der Optimizer in diesem Fall keine aufwandsoptimierten Zugriffspläne erstellt.

In Deinem Fall kommt wahrscheinlich kein Prefetch zustande und die 550 Index Pages werden per (Sequential) Synchroneous I/O beschafft. Der INDEX ONLY Zugriff dagegen ist ja wiederum nicht schlecht. Das sollte aber nicht länger als 500 ms dauern.

OPTIMIZE FOR 1 ROW sollte entfernt werden. Stattdessen sollte mit FETCH FIRST 21 ROWS ONLY gearbeitet werden, also mit Scrollable Cursor Funktionen.

Zur optimalen Optimierung sollte REOPT(VARS) als BIND Parameter genutzt werden. Vorsicht: Reoptimierte Statements können, in Schleifen eingesetzt, ebenfalls erheblichen Aufwand verursachen. Das wäre etwas, was Du selbst oder ein DBA schnell umsetzen kannst.

Viele Grüße
Gernot



Antworten:


Schreibe eine Antwort

Name:   
E-Mail:  

Thema:

Kommentar:

Optionale Link URL:   
Link Titel:                  
Optionale Image URL:


[ Antworten ] [ Forum ]