A diferença entre o catálogo EAV e o catálogo plano é a seguinte:
1. Catálogo Eav
O EAV é um modelo de banco de dados de valor de atributo de entidade, em que os dados estão totalmente na forma normalizada. Cada valor de dados da coluna é armazenado em sua respectiva tabela de tipos de dados. Exemplo, para um produto,
ID do produto é armazenado na catalog_product_entity_int
tabela,
nome do produto na catalog_product_entity_varchar
tabela,
preço do produto na catalog_product_entity_decimal
tabela,
data de criação do produto na catalog_product_entity_datetime
tabela,
descrição do produto na catalog_product_entity_text
tabela.
O EAV é complexo, pois junta 5-6 tabelas, mesmo se você quiser obter apenas os detalhes de um produto.
As colunas são chamadas de atributos no EAV.
2. Catálogo Plano
O modelo plano usa apenas uma tabela, portanto não é normalizado e usa mais espaço no banco de dados. Limpa a sobrecarga do EAV,
É bom quando se trata de desempenho, pois exigirá apenas uma consulta para carregar o produto inteiro em vez de juntar 5-6 tabelas para obter apenas os detalhes de um produto.
As colunas são chamadas de campos no modelo plano.
O Magento implementou indexadores que consultam periodicamente as coleções padrão e preenchem tabelas de banco de dados simples no seguinte formato. Onde * é o ID da loja.
catalog_category_flat_store_*
catalog_product_flat_*
Essas tabelas possuem dados de produto e categoria não normalizados que devem ser somente leitura. Isso permite que o Magento busque dados de categoria e produto em uma única consulta.
Você pode ativar o catálogo simples navegando para System > Configuration > Catalog > Frontend > Use Flat Catalog Category | Use Flat Catalog Product
. Defina como sim.
Se você estiver adicionando novo atributo na tabela EAV para o catálogo. Então não se esqueça de executar a re-indexação (System > Configuration > Index Management)
. A reindexação atualiza suas tabelas de catálogo simples.
Para mais informações, consulte “EAV” e “Flat Catalog” no Magento