Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Was bedeutet ORDER BY (SELECT NULL)?

ROW_NUMBER erfordert einen ORDER BY Satz syntaktisch. Sie können es ohne einen nicht verwenden. SELECT NULL ist ein Hack, um den Fehler zu schließen, ohne eine bestimmte Reihenfolge durchzusetzen. In diesem Fall müssen wir keine Reihenfolge erzwingen, daher ist die schnellste Option die Verwendung von SELECT NULL .

Der Optimierer durchschaut diesen Trick, sodass er keine Laufzeitkosten verursacht (diese Behauptung lässt sich leicht überprüfen, indem man sich den Ausführungsplan ansieht).