sql >> Database teknologi >  >> RDS >> PostgreSQL

Django JSONField inde i ArrayField

Arrays

Først og fremmest, lad os se nærmere på denne vigtige tekst fra Postgresql Arrays-dokumentet.

Tip:Arrays er ikke sæt; søgning efter specifikke array-elementer kan være et tegn på databasefejldesign. Overvej at bruge en separat tabel med pil for hvert element, der ville være et array-element. Dette vil være lettere at søge og vil sandsynligvis skalere bedre for et stort antal elementer.

Det meste af tiden bør du ikke bruge arrays.

JSONB

JSONB er tilgængelig i Django som JSONField-typen. Dette felt er mere skalerbart og fleksibelt end matrixfelter og kan søges mere effektivt. Men hvis du finder dig selv at søge i JSONB-felter hele tiden, er ovenstående udsagn om Arrays lige så gyldig for JSONB.

Hvad har du nu i dit system? Et array, der indeholder JSONB-feltet. Dette er en katastrofe, der venter på at ske. Normaliser venligst dine data.

Recap

så hvornår skal man bruge ArrayField?

En sjælden gang, hvor du ikke behøver at søge i den kolonne, og du ikke behøver at bruge den kolonne til at deltage.



  1. RDBMS vs NoSQL

  2. ved hjælp af nuller i en mysqli udarbejdet erklæring

  3. Adgang med Microsoft SQL Server – Importer store datasæt ved hjælp af SSIS

  4. Forskellige måder at befolke brugerne af MySQL