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

Leistungsvergleich zwischen SQL SELECT NULL und SELECT 1

Beide verhalten sich gleich, da die SELECT-Klausel in EXISTS niemals ausgewertet wird. Sie können testen mit:

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

Das sollte einen Division-durch-Null-Fehler auslösen, wird es aber nicht.

Ich persönlich bevorzuge die Verwendung von NULL, weil es offensichtlich ist, dass in der Tabelle auf nichts verwiesen wird, sodass sie für andere besser sichtbar ist. Die Auswahl eines Werts wie der INT-Zahl 1 im zweiten Beispiel kann zu Vermutungen darüber führen, was passiert, wenn Sie mit der EXISTS-Klausel nicht vertraut sind.