Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation Automatisches Umformen von SQL-Anweisungen  Dokument im Navigationsbaum lokalisieren

Verwendung

Das Datenbanksystem versucht SQL-Anweisungen so umzuformen, dass die resultierende Anweisung semantisch identisch, jedoch schneller abzuarbeiten ist. Die Umformungen erfolgen rein regelbasiert und berücksichtigen keine Statistikinformationen. Hauptziel der Umformungen ist es, Zwischenergebnismengen zu vermeiden.

Hinweis

Die aus den Umformungen resultierende Anweisung kann unter Umständen nicht mehr als syntaktisch korrekte SQL-Anweisung dargestellt werden.

Integration

Nach dem Umformen einer SQL-Anweisung bestimmt der SQL-Optimierer für die resultierende Anweisung die kostengünstigste Suchstrategie, um auf die Daten zugreifen zu können.

Siehe auch:

SQL-Optimierer

Funktionsumfang

Das Datenbanksystem kann folgende Typen von SQL-Anweisungen umformen:

     SELECT

     CREATE CURSOR FOR SELECT

     EXPLAIN SELECT

Aktivitäten

Das automatische Umformen von SQL-Anweisungen konfigurieren Sie mit dem speziellen Datenbankparameter OPTIMIZE_QUERYREWRITE.

Wenn das Datenbanksystem eine SQL-Anweisung umgeformt hat, dann enthält das Ergebnis der EXPLAIN-Anweisung eine der folgenden Informationen:

     QUERY REWRITTEN ON SQLSTATEMENT LEVEL

     QUERY REWRITTEN ON OPERATOR LEVEL

Beispiel

Das Datenbanksystem formt folgende SQL-Anweisung um:

SELECT * FROM v WHERE  a=1, wobei v als CREATE VIEW v (a) as SELECT b FROM t1 UNION ALL SELECT c FROM t2 definiert ist.

Das Ergebnis der ersten Umformung ist eine Anweisung, die eine kleinere Zwischenergebnismenge hat:

select b as a from (select b from t1 where b=1 union all select c from t2 where c=1)

Nach einer weiteren Umformung enthält die resultierende Anweisung kein äußeres SELECT mehr:

select b from t1 where b=1 union all select c from t2 where c=1

Siehe auch:

Performance

Ende des Inhaltsbereichs