PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Hai sempre bisogno di usare coalescente in un WHERE se possono esserci valori null/vuoti nelle colonne che stai confrontando?

No. L'uso di COALESCE() generalmente impedisce l'utilizzo degli indici. La sintassi equivalente che utilizza la logica booleana diventa ingombrante.

La soluzione migliore è usare IS DISTINCT FROM :

where field1 is distinct from field2

Utilizzando gli operatori integrati, c'è una migliore modifica che Postgres può ottimizzare la query. IS DISTINCT FROM è la sintassi standard ANSI spiegata nella documentazione .