sql >> Database >  >> RDS >> PostgreSQL

Django JSONField binnen ArrayField

Arrays

Laten we eerst eens goed kijken naar deze belangrijke tekst uit het Postgresql Arrays-document.

Tip:Arrays zijn geen sets; zoeken naar specifieke array-elementen kan een teken zijn van een verkeerd ontwerp van de database. Overweeg om een ​​aparte tabel met een rij te gebruiken voor elk item dat een array-element zou zijn. Dit is gemakkelijker te doorzoeken en zal waarschijnlijk beter worden geschaald voor een groot aantal elementen.

Meestal zou u geen arrays moeten gebruiken.

JSONB

JSONB is beschikbaar in Django als het JSONField-type. Dit veld is schaalbaarder en flexibeler dan matrixvelden en kan efficiënter worden doorzocht. Als u echter merkt dat u voortdurend in JSONB-velden zoekt, is de bovenstaande verklaring over arrays evenzeer geldig voor JSONB.

Wat heb je nu in je systeem? Een array die het JSONB-veld bevat. Dit is een ramp die staat te gebeuren. Normaliseer uw gegevens.

Samenvatting

dus wanneer moet je ArrayField gebruiken?

In het zeldzame geval dat u niet in die kolom hoeft te zoeken en u die kolom niet hoeft te gebruiken voor een deelname.



  1. Zoek verwijzende entiteiten in SQL Server:sys.dm_sql_referencing_entities()

  2. Wat is de maximale lengte van gegevens die ik in een BLOB-kolom in MySQL kan plaatsen?

  3. Hoe krijg ik database-aanmaaktijd in PostgreSQL 9.0?

  4. Als u geïndexeerde weergaven en MERGE gebruikt, lees dit dan alstublieft!