Anfang des Inhaltsbereichs

Hintergrunddokumentation Verlagerung der Suche auf den FETCH-Zeitpunkt Dokument im Navigationsbaum lokalisieren

Ein Ziel der Optimierung ist das Einsparen von Speicherplatz, d. h es soll vermieden werden, Ergebnistabellen zu bilden. Abgesehen von den Fällen, in denen das Syntaxelement FOR REUSE oder das Vorhandensein eines Joins die Ergebnistabellenbildung erzwingt, wird nach Möglichkeit auf den Aufbau einer Ergebnistabelle verzichtet.

Eine mögliche Suchstrategie ist daher die Verlagerung der Suche auf den FETCH-Zeitpunkt (FETCH-Anweisung) ohne Aufbau einer Ergebnistabelle. Dadurch wird kein Speicher für Ergebnisse belegt, ein schneller Zugriff auf die ersten Ergebnisse ist möglich und ein schneller Vergleich der erhaltenen mit den gewünschten Ergebnissen kann durchgeführt werden.

Die Verlagerung der Suche auf den FETCH-Zeitpunkt ist nicht bei allen SQL-Anweisungen möglich. Hier eine Übersicht über einige SQL-Anweisungen, die eine Verlagerung nicht zulassen:

SELECT auf mehrere Tabellen (Join)
SELECT ... FOR REUSE
SELECT DISTINCT ... (in den meisten Fällen)
SELECT ... ORDER BY ... (in den meisten Fällen)

SELECT ... ORDER BY

Wenn die ORDER-Klausel angegeben wurde, kann auf den Aufbau einer Ergebnistabelle nur verzichtet werden, wenn alle folgenden Bedingungen zutreffen:

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

Ende des Inhaltsbereichs