sql >> Databáze >  >> RDS >> PostgreSQL

Potřebujete vždy použít sloučení v WHERE, pokud ve sloupcích, které porovnáváte, mohou být hodnoty null/prázdné?

Ne. Použití COALESCE() obecně zabraňuje použití indexů. Ekvivalentní syntaxe využívající booleovskou logiku je těžkopádná.

Nejlepším řešením je použít IS DISTINCT FROM :

where field1 is distinct from field2

Použitím vestavěných operátorů je lepší změna, že Postgres může optimalizovat dotaz. IS DISTINCT FROM je standardní syntaxe ANSI, která je vysvětlena v dokumentaci .



  1. Zkopírujte tabulku (včetně indexů) v postgresu

  2. Rozdíl mezi vnitřním a vnějším spojením v SQL

  3. SQL:Použití DATEADD s biginty

  4. phpMyBackupPro – Webový nástroj pro zálohování MySQL pro Linux