Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum ist die Auswertungsreihenfolge für Ausdrücke mit Benutzervariablen nicht definiert?

Die Reihenfolge der Auswertung von Ausdrücken in select ist nicht definiert. Meistens merkt man das nur bei Variablen, weil die Fehler zu fehlerhaften Informationen führen.

Wieso den? Der SQL-Standard erfordert keine Auswertungsreihenfolge, sodass jede Datenbank frei entscheiden kann, wie die Ausdrücke ausgewertet werden. Typischerweise werden solche Entscheidungen dem Optimierer überlassen.