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.