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).