sql >> Databasteknik >  >> RDS >> PostgreSQL

Django JSONField inuti ArrayField

Arrayer

Först av allt, låt oss ta en närmare titt på denna viktiga text från Postgresql Arrays-dokumentet.

Tips:Arrayer är inte uppsättningar; Att söka efter specifika arrayelement kan vara ett tecken på felaktig databasdesign. Överväg att använda en separat tabell med pil för varje objekt som skulle vara ett matriselement. Detta kommer att vara lättare att söka och kommer sannolikt att skala bättre för ett stort antal element.

För det mesta bör du inte använda arrayer.

JSONB

JSONB är tillgänglig i Django som typen JSONField. Detta fält är mer skalbart och flexibelt än arrayfält och kan sökas mer effektivt. Men om du hittar dig själv att söka i JSONB-fält hela tiden är ovanstående uttalande om Arrays lika giltigt för JSONB.

Vad har du nu i ditt system? En array som innehåller JSONB-fält. Det här är en katastrof som väntar på att hända. Normalisera dina data.

Recap

så när ska man använda ArrayField?

Vid det sällsynta tillfället när du inte behöver söka i den kolumnen och du inte behöver använda den kolumnen för att gå med.



  1. Ansluter F# till Salesforce.com

  2. Hur man skriver om ÄR SKILJER FRÅN och SKILJER INTE FRÅN?

  3. Flytta till MariaDB Backup

  4. Aktivera Databas Mail i SQL Server (T-SQL)