Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Abfrageverarbeitung » Abfragen optimieren und ausführen » Algorithmen zur Abfrageausführung » Typen von Algorithmen » Sonstige Algorithmen

 

DerivedTable-Algorithmus (DT)

Eine abgeleitete Tabelle ("Derived Table") ist eine SELECT-Anweisung, die in der FROM-Klausel einer Abfrage enthalten ist. Die Ergebnismenge einer SELECT-Anweisung wird so behandelt, als wäre sie eine Tabelle. Auch der Abfrageoptimierer generiert möglicherweise Tabellen während des Umschreibens von Abfragen, z.B. bei Abfragen, die die auf Mengen basierten Vorgänge UNION, INTERSECT oder EXCEPT enthalten. Der grafische Plan zeigt den Namen der abgeleiteten Tabelle und die Liste der Spalten an, die berechnet wurden.

Eine abgeleitete Tabelle umfasst einen Teil eines Zugriffsplans, der nicht mit den anderen Teilen des Zugriffsplans der Anwendung zusammengeführt oder abgeflacht werden kann, ohne das Abfrageergebnis zu ändern. Eine abgeleitete Tabelle wird benutzt, um die Semantik von abgeleiteten Tabellen durchzusetzen, die in der Original-Anweisung spezifiziert wurden, und sie kann aufgrund einer Optimierung durch Neuschreibungsoptimierungen einer Abfrage und verschiedener anderer Gründe in einem Plan vorkommen, besonders wenn die Abfrage einen oder mehrere Outer-Joins umfasst.

Weitere Hinweise zu abgeleiteten Tabellen finden Sie unter Die FROM-Klausel: Tabellen angeben und FROM-Klausel.

Beispiel

Die folgende Abfrage hat abgeleitete Tabellen in ihrem grafischen Plan:

SELECT EmployeeID FROM Employees
UNION ALL
SELECT DepartmentID FROM (    
    SELECT TOP 5 DepartmentID
    FROM Departments
    ORDER BY DepartmentName DESC ) MyDerivedTable;