Zitat von
hoika:
die Frage war aber nicht der Index, sondern das First 1.
Wird das von
FB gesondert schon beim Execute benutzt,
oder baut er das Result-Set komplett auf und gibt dann
nur das 1. Ergebnis zurück ?
Zuerst kommt das Sortieren. Beim
Indirekten Sortieren werden die eigentlichen Daten
nicht im Speicher gehalten.
Es macht (im Prinzip) keinen Unterschied, ob die Tabelle 5 oder 100 Felder hat oder wieviele Felder im Resultset sein sollen.
Danach kommt die Ausgabe des Resultsets. Die
SQL Engine erkennt schon nach der Ausgabe des 1. Records, dass sie fertig ist und hört auf.
=> also baut er das Result-Set
nicht komplett auf
Zitat von
hoika:
PS: Dass der Index desc sein muss, ist auch klar.
Wenn
FB "schlau" ist und der Index aufsteigend ist, die Sortierung aber absteigend sein soll, dann wird
FB
den Indexbaum einfach "rückwärts" durchlaufen.
Nur wenn
EventDate aufsteigend, aber nach
EventTime absteigend sortiert werden soll, aber ein gemeinsamer Index auf den Feldern liegt, kann die
SQL Engine den Index nicht verwenden.