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

Django JSONField вътре в ArrayField

Масиви

Първо, нека разгледаме отблизо този важен текст от документа Postgresql Arrays.

Съвет:Масивите не са набори; търсенето на конкретни елементи от масива може да е признак за грешен дизайн на базата данни. Помислете за използването на отделна таблица със стрелка за всеки елемент, който би бил елемент на масив. Това ще бъде по-лесно за търсене и вероятно ще мащабира по-добре за голям брой елементи.

През повечето време не трябва да използвате масиви.

JSONB

JSONB е наличен в Django като тип JSONField. Това поле е по-мащабируемо и гъвкаво от полетата на масива и може да се търси по-ефективно. Ако обаче откриете, че търсите в JSONB полета през цялото време, горното твърдение за масивите е еднакво валидно и за JSONB.

Сега какво имате във вашата система? Масив, който съдържа поле JSONB. Това е бедствие, което чака да се случи. Моля, нормализирайте данните си.

Резюме

така че кога да използваме ArrayField?

В редките случаи, когато не е нужно да търсите в тази колона и не е нужно да използвате тази колона за обединяване.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. fe_sendauth:не е предоставена парола

  2. Таблица с координати на шестоъгълна мрежа, която покрива света

  3. Грешка при инсталиране на Psycopg2 на MacOS 10.9.5

  4. Най-бърза проверка дали ред съществува в PostgreSQL

  5. Как да запиша данни от R в PostgreSQL таблици с автоматично нарастващ първичен ключ?