PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Você sempre precisa usar coalesce em um WHERE se pode haver valores nulos/vazios nas colunas que você está comparando?


Não. O uso de COALESCE() geralmente impede que os índices sejam usados. A sintaxe equivalente usando lógica booleana fica complicada.

A melhor solução é usar IS DISTINCT FROM :
where field1 is distinct from field2

Ao usar operadores integrados, há uma mudança melhor para que o Postgres possa otimizar a consulta. IS DISTINCT FROM é a sintaxe padrão ANSI que é explicada na documentação .