PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Динамични колони на таблица, базирани на потребителските предпочитания

Обичайните подходи за това са:

  • EAV
  • hstore
  • XML
  • JSON

Вижте:

Цялото нещо „направете колони достъпни за други потребители“ просто изисква да поддържате таблица с „персонализирани ключове“, към която добавяте всеки път, когато потребител дефинира неизползван преди това ключ.

Добавянето на колони с динамичен DDL звучи разумно на пръв поглед, но има ограничения за това колко колони можете да съхранявате и колко „широк“ може да бъде един ред. Ефективността на сканирането на таблицата се влошава, когато добавяте повече колони, въпреки че "разредените" колони, които са предимно нулеви, са сравнително евтини. Изисква се изключително заключване за добавяне на колона, нещо, което може да отнеме време, за да влезе в натоварена система, въпреки че добавянето на самата колона е много бързо, ако не е дефинирана като NOT NULL DEFAULT ... . В началото ще работи доста добре, но подозирам, че ще съжалявате, че сте го направили по-късно.



  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 Функция за сортиране на знаци в низ

  2. Шаблони и модификатори за числово форматиране в PostgreSQL

  3. INSERT с име на динамична таблица в тригерна функция

  4. Използване на хибернация с много нишки

  5. Възможно ли е да извършвате запитвания между база данни с PostgreSQL?