Lassen Sie uns sagen, dass die tableA einen Clustered-Index auf Column1 hatGibt es einen Leistungsunterschied zwischen ASC und DESC, wenn die ORDER BY-Klausel richtig indiziert ist?
Gibt es irgendwelche Auswirkungen auf die Leistung Unterschiede zwischen den folgenden Aussagen:
SELECT TOP 5 Column1 FROM tableA ORDER BY Column1 ASC
SELECT TOP 5 Column1 FROM tableA ORDER BY Column1 DESC
Update und der Fang
@TheGameiswar Antwort ist richtig . Allerdings gibt es einen großen Fang, wo es mehrere Spalten in der Reihenfolge von Klausel sind:
SELECT TOP 5 Column1 FROM tableA ORDER BY Column1 , Column2 DESC
bedeutet eigentlich
SELECT TOP 5 Column1 FROM tableA ORDER BY Column1 ASC, Column2 DESC
Above-Anweisung eine Sortierung Abfrageprozessor Operator auf den Plan erlegt und macht die Abfrage sehr ineffizient.
Also, stellen Sie sicher, dass die absteigende Sortierreihenfolge für beide Spalten
SELECT TOP 5 Column1 FROM tableA ORDER BY Column1 DESC , Column2 DESC
Theoretisch könnten Sie einen sehr, sehr, kleinen Unterschied feststellen, basierend auf einer Richtung, die eine etwas bessere Schleifenunterstützung als die andere in der CPU-Hardware hat. Die Leistung der Datenbankabfrage wird jedoch in der Regel vom Festplattenzugriff dominiert, wodurch CPU-Leistungsunterschiede in fast allen Szenarien um mehrere Größenordnungen übertroffen werden. –