Pela minha experiência, recuperar e manipular dados de colunas de matriz é mais lento. Então eu geralmente prefiro associações.
-
Tendo colunas de matriz, você não é tão flexível com a consulta de banco de dados.
-
Extrair dados do banco de dados é mais rápido com associações.
-
E se você armazenar as categorias do livro no banco de dados como array e decidir alterar o nome de uma das categorias?
Tendo associação é apenas a mudança de algumaCategory
o nome da instância de , porque está conectado a outras instâncias (livros, por exemplo) porid
. Com array, você terá que iterar sobre toda a coleção de livros para atualizar o nome da categoria.
Eu usaria
array
, json
ou jsonb
coluna para armazenar alguns metadados se a associação for um exagero.