Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Cosa significa ORDINA PER (SELECT NULL)?

ROW_NUMBER richiede un ORDER BY clausola sintatticamente. Non puoi usarlo senza uno. SELECT NULL è un trucco per chiudere l'errore senza applicare alcun ordine particolare. In questo caso non è necessario imporre alcun ordine, quindi l'opzione più veloce è utilizzare SELECT NULL .

L'ottimizzatore vede attraverso questo trucco, quindi non ha costi di runtime (questa affermazione è facilmente verificabile osservando il piano di esecuzione).