Manchmal ist es nicht notwendig, das vollständige Ergebnis einer SQL-Abfrage zu laden – die ersten paar Zeilen genügen. Wenn man zum Beispiel nur die aktuellsten Nachrichten anzeigen muss. Die meisten Anwendungen bieten dann die Möglichkeit, weitere Nachrichten durch eine Blätter-Funktion oder die modernere Variante des unendlichen Scrollens nachzuladen. Die entsprechenden SQL-Abfragen können aber Performanceprobleme verursachen, wenn alle Nachrichten immer wieder sortiert werden müssen, um die aktuellsten zu finden. Daher ist das pipelined order by
in diesen Fällen besonders hilfreich.
Hinweis in eigener Sache
Ich lebe von SQL-Schulungen, SQL-Tuning und Beratung sowie dem Verkauf meines Buches „SQL Performance Explained“. Mehr auf winand.at.
Dieses Kapitel zeigt, wie man das pipelined order by
einsetzt, um Teilergebnisse effizient abzufragen. Obwohl die Syntax der verschiedenen Datenbanken dafür durchaus uneinheitlich ist, erfolgt die Ausführung der Abfragen immer gleich. Damit zeigt sich wieder einmal, dass die Hersteller alle nur mit Wasser kochen.