Mysql
 sql >> Database >  >> RDS >> Mysql

Perché l'ordine di valutazione per le espressioni che coinvolgono variabili utente non è definito?

L'ordine di valutazione delle espressioni in select è indefinito. Per la maggior parte, te ne accorgi solo quando hai delle variabili, perché gli errori generano informazioni errate.

Come mai? Lo standard SQL non richiede l'ordine di valutazione, quindi ogni database è libero di decidere come valutare le espressioni. In genere tali decisioni vengono lasciate all'ottimizzatore.