Не. Използването на COALESCE()
обикновено предотвратява използването на индекси. Еквивалентният синтаксис, използващ булева логика, става тромав.
Най-доброто решение е да използвате IS DISTINCT FROM
:
where field1 is distinct from field2
Чрез използването на вградени оператори има по-добра промяна, че Postgres може да оптимизира заявката. IS DISTINCT FROM
е стандартен синтаксис ANSI, който е обяснен в документацията
.