sql >> Databáze >  >> RDS >> PostgreSQL

Django JSONField uvnitř ArrayField

Pole

Nejprve se blíže podívejme na tento důležitý text z dokumentu Postgresql Arrays.

Tip:Pole nejsou množiny; hledání specifických prvků pole může být známkou chybného návrhu databáze. Zvažte použití samostatné tabulky s řádkem pro každou položku, která by byla prvkem pole. To bude snazší pro vyhledávání a pravděpodobně se bude lépe škálovat pro velký počet prvků.

Většinu času byste neměli používat pole.

JSONB

JSONB je k dispozici v Django jako typ JSONField. Toto pole je škálovatelnější a flexibilnější než pole pole a lze jej prohledávat efektivněji. Pokud však zjistíte, že neustále hledáte v polích JSONB, výše uvedené prohlášení o polích platí stejně pro JSONB.

Co teď máte ve svém systému? Pole, které obsahuje pole JSONB. Tohle je katastrofa, která čeká, až se stane. Prosím normalizujte svá data.

Shrnutí

kdy tedy použít ArrayField?

Ve vzácných případech, kdy nepotřebujete hledat v tomto sloupci a nepotřebujete tento sloupec použít pro spojení.



  1. Získejte název dne z data v PostgreSQL

  2. Přímý přístup k SQL Server Database v Xamarin.Forms

  3. Jak se vzdáleně připojit k databázi Oracle 11g

  4. 7 faktů o synonymech SQL Server, která byste měli vědět