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

Django JSONField wewnątrz ArrayField

Tablice

Przede wszystkim przyjrzyjmy się bliżej temu ważnemu tekstowi z dokumentu Postgresql Arrays.

Wskazówka:tablice nie są zestawami; wyszukiwanie określonych elementów tablicy może być oznaką nieprawidłowego projektu bazy danych. Rozważ użycie oddzielnej tabeli z wierszem dla każdego elementu, który byłby elementem tablicy. Będzie to łatwiejsze do wyszukiwania i prawdopodobnie będzie lepiej skalowane dla dużej liczby elementów.

W większości przypadków nie powinieneś używać tablic.

JSONB

JSONB jest dostępny w Django jako typ JSONField. To pole jest bardziej skalowalne i elastyczne niż pola tablicowe i można je przeszukiwać wydajniej. Jeśli jednak będziesz cały czas przeszukiwać pola JSONB, powyższe stwierdzenie dotyczące tablic jest równie ważne dla JSONB.

Co teraz masz w swoim systemie? Tablica zawierająca pole JSONB. To katastrofa, która czeka, aby się wydarzyć. Proszę znormalizować swoje dane.

Podsumowanie

więc kiedy używać ArrayField?

W rzadkich przypadkach, gdy nie musisz szukać w tej kolumnie i nie musisz używać tej kolumny do przyłączenia.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje spadek wydajności przy użyciu dziesiętnych typów danych (MySQL / Postgres)

  2. Wiele generatorów sekwencji Hibernate dla jednej jednostki z PostgreSQL

  3. Dlaczego podczas sprawdzania typu wiersza jest NOT NULL false?

  4. Jak zainstalować pakiet Pythona na Linuksie, aby został znaleziony przez działające już rozszerzenie plpython3u PostgreSQL 13?

  5. Plany sklepów kolumnowych