sql >> Database >  >> RDS >> Mysql

Waarom is de evaluatievolgorde voor expressies met gebruikersvariabelen niet gedefinieerd?

De volgorde van evaluatie van uitdrukkingen in de select is ongedefinieerd. Meestal merk je dit alleen als je variabelen hebt, omdat de fouten resulteren in foutieve informatie.

Waarom? De SQL-standaard vereist geen evaluatievolgorde, dus elke database is vrij om te beslissen hoe de expressies worden geëvalueerd. Meestal worden dergelijke beslissingen overgelaten aan de optimizer.



  1. MySQL-prestaties:MySQL versus MariaDB

  2. Lopend totaal berekenen in roodverschuiving

  3. controleer of de kolom bestaat vóór ALTER TABLE -- mysql

  4. MySQL-partitionering / sharding / splitsen - welke kant op?