sql >> Databasteknik >  >> RDS >> Mysql

Prestandajämförelse mellan sql SELECT NULL och SELECT 1

Båda utför samma sak, eftersom SELECT-satsen i EXISTS aldrig utvärderas. Du kan testa med:

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

Det borde utlösa ett divideringsfel med noll, men det gör det inte.

Jag personligen föredrar att använda NULL eftersom det är uppenbart att ingenting hänvisas till i tabellen, så det är mer synligt för andra. Att välja ett värde, som INT-nummer 1 i det andra exemplet, kan leda till antaganden om vad som händer om du inte känner till EXISTS-satsen.




  1. Sparar textfilens innehåll till DB:Felaktigt strängvärde:'\xEF\xBB\xBF# W...' för kolumnen 'innehåll' på rad 1

  2. Hur kan jag ytterligare optimera en härledd tabellfråga som ger bättre resultat än den JOINed-motsvarigheten?

  3. Inbyggd tabell 'performance_schema'.'???' har fel struktur

  4. Hur kan vi definiera utdataparameterstorlek i lagrad procedur?