PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Czy zawsze musisz używać koalescencji w WHERE, jeśli w porównywanych kolumnach mogą znajdować się wartości null/puste?

Nie. Użycie COALESCE() ogólnie zapobiega używaniu indeksów. Równoważna składnia używająca logiki logicznej staje się kłopotliwa.

Najlepszym rozwiązaniem jest użycie IS DISTINCT FROM :

where field1 is distinct from field2

Dzięki użyciu wbudowanych operatorów jest lepsza zmiana, dzięki której Postgres może zoptymalizować zapytanie. IS DISTINCT FROM to standardowa składnia ANSI, która jest wyjaśniona w dokumentacji .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pobierz N-ty element tablicy, który zwraca z funkcji string_to_array()

  2. Próba skonstruowania zapytania PostgreSQL w celu wyodrębnienia z JSON wartości tekstowej w obiekcie, tablicy, obiekcie, tablicy, obiekcie

  3. Alembic:zmień typ kolumny za pomocą USING

  4. Zmień domyślny schemat dla użytkownika

  5. Uzyskać domyślne wartości kolumn tabeli w Postgresie?