sql >> Database >  >> RDS >> Mysql

Prestatievergelijking tussen sql SELECT NULL en SELECT 1

Beide presteren hetzelfde, omdat de SELECT-component in de EXISTS nooit wordt geëvalueerd. U kunt testen met:

... EXISTS(SELECT 1/0 FROM TABLE) 

Dat zou een fout door delen door nul moeten veroorzaken, maar dat gebeurt niet.

Persoonlijk geef ik er de voorkeur aan om NULL te gebruiken omdat het duidelijk is dat er nergens in de tabel naar wordt verwezen, dus het is beter zichtbaar voor anderen. Het selecteren van een waarde, zoals het INT-nummer 1 in het tweede voorbeeld, kan leiden tot aannames over wat er gebeurt als je niet bekend bent met de EXISTS-clausule.




  1. Lege rij maken voor herhalende rij

  2. Hoe SQLite Count() werkt

  3. Ontvang alleen records die vandaag zijn gemaakt in laravel

  4. Dynamisch construeren van MySQL-code voor het maken van een trigger