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

Dynamiczne kolumny tabeli oparte na preferencjach użytkownika

Typowe podejścia do tego to:

  • EAV
  • sklep
  • XML
  • JSON

Zobacz:

Cała rzecz „udostępnianie kolumn innym użytkownikom” wymaga jedynie przechowywania tabeli „niestandardowych kluczy”, do której dodaje się, gdy użytkownik zdefiniuje wcześniej nieużywany klucz.

Na początku dodawanie kolumn z dynamicznym DDL wydaje się rozsądne, ale istnieją ograniczenia co do liczby kolumn, które można przechowywać i jak „szeroki” może być wiersz. Wydajność skanowania tabeli pogarsza się wraz z dodawaniem większej liczby kolumn, chociaż kolumny „rzadkie”, które w większości są puste, są stosunkowo tanie. Aby dodać kolumnę, wymagana jest blokada na wyłączność, co może zająć trochę czasu, aby dostać się do zajętego systemu, chociaż dodanie samej kolumny jest bardzo szybkie, jeśli nie jest zdefiniowane jako NOT NULL DEFAULT ... . Na początku będzie działać całkiem dobrze, ale podejrzewam, że pożałujesz, że zrobiłeś to później.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak replikować instrukcje INSERT/UPDATE/DELETE za pomocą JPA i Hibernate?

  2. Zamień reprezentację daty postgres w ciąg ISO 8601

  3. Przyznaj uprawnienia do określonej bazy danych w PostgreSQL

  4. Wystąpił błąd podczas odczytu danych od dostawcy. Zdalny certyfikat jest nieważny zgodnie z procedurą walidacji

  5. Użyj typu Point z PostgreSQL i JPA/Hibernate