Design de Tabela de Atributos de Atributos de Entidade

Atualmente, estou projetando uma estrutura de banco de dados para a seção de produtos de uma plataforma de comércio eletrônico. Ela precisa ser projetada de forma a possibilitar a venda de um número infinito de diferentes tipos de produtos com um número infinito de atributos diferentes.

Por exemplo. Os atributos de um laptop seriam RAM, Tamanho da tela, Peso, etc. Os atributos de um livro seriam Autor, ISBN, Editor etc.

Parece que uma estrutura EAV seria mais adequada.

Selecione um produtoO produto pertence ao conjunto de atributosConjunto de atributos contém os atributos xeyAtributo x é datetime do tipo de dados (valores armazenados em attribute_values_datetime)Atributo y é tipo de dados int (valores armazenados em attribute_values_int)Cada definição de atributo indica o tipo (i, e, x tem tipo de coluna -> tipo de dados)

Supondo o acima, eu poderia juntar a seleção à tabela attribute_values_datetime para obter os dados corretos sem obter o conjunto de resultados e construir uma segunda consulta agora que a tabela é conhecida? Haveria um grande desempenho atingido ao construir uma consulta desse tipo ou seria mais adequado abaixo (embora menos funcional)?

Selecione um produtoO produto pertence ao conjunto de atributosConjunto de atributos contém os atributos xeyAtributo x é datetime de tipo de dados, mas armazenado como TEXT em attribute_valuesAtributo y é tipo de dados int, mas armazenado como TEXT em attribute_values

questionAnswers(3)

yourAnswerToTheQuestion