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

Pobierasz wiersze z wielu tabel za pomocą UNION ALL lub używasz jednej tabeli w produkcji?

Ogólnie uważam, że szerokie użycie UNION sugeruje zły projekt bazy danych. Istnieją przypadki, w których UNION i UNION ALL mają sens, ale powinny być stosunkowo rzadkie poza rekurencyjnymi typowymi wyrażeniami tabelowymi.

PostgreSQL zapewnia dość dużą liczbę opcji umożliwiających zarządzanie wydajnością pojedynczej tabeli, a jak wskazujesz, indeksy częściowe są bardzo dobrym sposobem na rozwiązanie tego problemu.

Główny problem z dzieleniem tabel tak, że takie UNION Powszechne są stwierdzenia, że ​​sprawia to, że zarządzanie kluczami podstawowymi i obcymi jest dość problematyczne. Ogólnie rzecz biorąc, prawie zawsze lepiej jest najpierw upewnić się, że struktura danych jest przejrzysta i łatwa w zarządzaniu, a następnie martwić się optymalizacją, niż martwić się o optymalizację, a następnie próbować zarządzać zoptymalizowanym rozwiązaniem.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL, SELECT z max id

  2. PG::Error:ERROR:nieprawidłowa sekwencja bajtów do kodowania UTF8:0xfc

  3. Wkładka wielorzędowa z obietnicą pg

  4. ActiveRecord:Jak znaleźć rodziców, których WSZYSTKIE dzieci spełniają warunek?

  5. Postgresql:usuwanie spacji między określonymi typami cyfr