PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wann sollte ich Array-Spalten vs. Verbände in Schienen

Aus meiner Erfahrung ist das Abrufen und Bearbeiten von Daten aus Array-Spalten langsamer. Daher bevorzuge ich normalerweise Assoziationen.

  1. Mit Array-Spalten sind Sie bei der Abfrage von DBs nicht so flexibel.

  2. Das Abrufen von Daten aus der DB ist mit Verknüpfungen schneller.

  3. Was ist, wenn Sie die Kategorien des Buchs in der DB als Array speichern und sich entscheiden, den Namen einer der Kategorien zu ändern?

    Bei einer Assoziation ist es nur die Änderung einer Category Der Instanzname von , da er über id mit anderen Instanzen (z. B. Büchern) verbunden ist . Mit Array müssen Sie über die gesamte Sammlung von Büchern iterieren, um den Namen der Kategorie zu aktualisieren.

Ich würde mit array gehen , json oder jsonb Spalte zum Speichern einiger Metadaten, wenn die Zuordnung zu viel des Guten ist.