La diferencia entre el catálogo EAV y el catálogo Flat es la siguiente:
1. Catálogo Eav
EAV es un modelo de base de datos de valor de atributo de entidad, donde los datos están completamente en forma normalizada. Cada valor de datos de columna se almacena en su tabla de tipos de datos respectivos. Ejemplo, para un producto,
ID del producto se almacena en la catalog_product_entity_int
tabla,
nombre del producto en la catalog_product_entity_varchar
tabla,
precio del producto en catalog_product_entity_decimal
tabla,
fecha de creación del producto en la catalog_product_entity_datetime
tabla,
Descripción del producto en la catalog_product_entity_text
tabla.
EAV es complejo, ya que une 5-6 tablas incluso si desea obtener los detalles de un solo producto.
Las columnas se llaman atributos en EAV.
2. Catálogo plano
El modelo plano usa solo una tabla, por lo que no está normalizado y usa más espacio en la base de datos. Borra la sobrecarga de EAV,
Es bueno cuando se trata de rendimiento, ya que solo requerirá una consulta para cargar el producto completo en lugar de unir 5-6 tablas para obtener solo los detalles de un producto.
Las columnas se llaman campos en modelo plano.
Magento implementó indexadores que consultarán periódicamente las colecciones estándar y completarán tablas de bases de datos planas en el siguiente formato. Donde * es la identificación de la tienda.
catalog_category_flat_store_*
catalog_product_flat_*
Estas tablas tienen datos de productos y categorías no normalizados que están destinados a ser de solo lectura. Esto permite que Magento obtenga datos de categoría y producto en una sola consulta.
Puede habilitar el catálogo plano navegando a System > Configuration > Catalog > Frontend > Use Flat Catalog Category | Use Flat Catalog Product
. Establezca esto en sí.
Si está agregando un nuevo atributo en la tabla EAV para el catálogo. Entonces no olvide ejecutar la reindexación (System > Configuration > Index Management)
. La reindexación actualiza sus tablas de catálogo planas.
Para obtener más información, consulte "EAV" y "Catálogo plano" en Magento
Magento utiliza el modelo Entity-Attribute-Value (EAV) para almacenar datos de clientes, productos y categorías en su base de datos. Aunque el modelo EAV le permite tener atributos completamente extensibles para esos objetos, los atributos de los objetos se almacenan en varias tablas en lugar de en una tabla muy grande.
Como los atributos se almacenan en muchas tablas, y eso incluye copias de algunos de los mismos atributos, las consultas SQL pueden ser largas y complejas. La función de catálogo plano crea nuevas tablas sobre la marcha, donde cada fila contiene todos los datos necesarios sobre un producto o categoría.
En versiones anteriores de Magento, era necesario reconstruir el catálogo plano cada vez que realizaba cambios en los atributos del producto o en las asociaciones de categorías de productos. En esta versión, el catálogo plano se actualiza para usted, ya sea cada minuto o de acuerdo con su trabajo cron de Magento.
Las opciones de catálogo plano no solo habilitan el catálogo plano y los indexadores de productos planos, sino que también permiten la indexación de las reglas de precios de catálogo y carrito de compras. Si tiene una gran cantidad de SKU (500,000 o más), Magento puede indexar rápidamente las reglas de precios de catálogo y carrito de compras si habilita la opción de producto de catálogo plano.
fuente
Las categorías planas no se actualizan automáticamente incluso en Magento 1.9.2. No he verificado 1.9.3, ya que siempre reconstruyo manualmente los índices después de las actualizaciones masivas (por ejemplo, nivel de existencias).
fuente