Mysql
 sql >> Database >  >> RDS >> Mysql

Confronto delle prestazioni tra sql SELECT NULL e SELECT 1

Entrambi funzionano allo stesso modo, perché la clausola SELECT in EXISTS non viene mai valutata. Puoi testare usando:

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

Ciò dovrebbe innescare un errore di divisione per zero, ma non lo farà.

Personalmente preferisco usare NULL perché è ovvio che nella tabella non viene fatto riferimento a nulla, quindi è più visibile agli altri. La selezione di un valore, come il numero INT 1 nel secondo esempio, può portare a supposizioni su ciò che sta accadendo se non si ha familiarità con la clausola EXISTS.