sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Siempre necesita usar coalesce en un DONDE si puede haber valores nulos/vacíos en las columnas que está comparando?

No. El uso de COALESCE() generalmente evita que se utilicen índices. La sintaxis equivalente usando lógica booleana se vuelve engorrosa.

La mejor solución es usar IS DISTINCT FROM :

where field1 is distinct from field2

Mediante el uso de operadores integrados, hay un cambio mejor que Postgres puede optimizar la consulta. IS DISTINCT FROM es la sintaxis estándar ANSI que se explica en la documentación .