Anfang des Inhaltsbereichs

 Verlagerung der Suche auf den FETCH-Zeitpunkt 

Der Optimierer versucht, nur dann Ergebnistabellen zu bilden, wenn es unbedingt notwendig ist.

Wenn keine Ergebnistabelle aufgebaut werden muss, kann die Suche auf den FETCH-Zeitpunkt (FETCH-Anweisung) verlagert werden. Dadurch wird kein Speicher für Ergebnisse belegt, und auf die ersten Ergebnisse kann schnell zugegriffen werden.

Die Suche kann jedoch nicht immer auf den FETCH-Zeitpunkt verlagert werden, da in einigen Fällen immer eine Ergebnistabelle aufgebaut werden muss:

·        SELECT auf mehrere Tabellen (Join)

·        SELECT ... FOR REUSE

In den folgenden Fällen muss meistens eine Ergebnistabelle aufgebaut werden:

·        SELECT DISTINCT ...

·        SELECT ... ORDER BY ...

Wenn alle folgenden Bedingungen zutreffen, muss keine Ergebnistabelle aufgebaut werden:

¡        Weder eine DISTINCT-Spezifikation (<distinct spec>) (bis auf einige Ausnahmen) noch das Syntaxelement FOR REUSE sind angegeben.

¡        Die Spalten, nach denen sortiert werden soll, bilden zusammen in der angegebenen Reihenfolge und Sortierung (aufsteigend oder absteigend) einen Index.

Mit Hilfe der EXPLAIN-Anweisung können Sie herausfinden, ob eine Ergebnistabelle erstellt wird (RESULT IS COPIED) oder nicht (RESULT IS NOT COPIED).

Ende des Inhaltsbereichs