Enligt min erfarenhet går det långsammare att hämta och manipulera data från matriskolumner. Så jag brukar föredra associationer.
-
Med arraykolumner är du inte så flexibel med att fråga DB.
-
Att hämta data från DB går snabbare med associationer.
-
Vad händer om du lagrar bokens kategorier i DB som array och du bestämmer dig för att ändra namnet på en av kategorierna?
Att ha association är bara förändringen av någon
Category
s instansnamn, eftersom det är kopplat till andra instanser (till exempel böcker) medid
. Med array måste du iterera över hela samlingen av böcker för att uppdatera kategorins namn.
Jag skulle använda array
, json
eller jsonb
kolumn för att lagra vissa metadata om association är en överkill.