La différence entre le catalogue EAV et le catalogue plat est la suivante:
1. Catalogue Eav
EAV est un modèle de base de données de valeurs d'attribut d'entité, dans lequel les données sont entièrement sous forme normalisée. Chaque valeur de données de colonne est stockée dans leur table de types de données respective. Exemple, pour un produit,
l'ID du produit est stocké dans la catalog_product_entity_int
table,
nom du produit dans le catalog_product_entity_varchar
tableau,
prix du produit dans le catalog_product_entity_decimal
tableau,
date de création du produit dans le catalog_product_entity_datetime
tableau,
description du produit dans le catalog_product_entity_text
tableau.
L'EAV est complexe car il rejoint 5-6 tables même si vous souhaitez obtenir les détails d'un seul produit.
Les colonnes sont appelées attributs dans EAV.
2. Catalogue plat
Le modèle plat utilise une seule table, il n'est donc pas normalisé et utilise plus d'espace de base de données. Il efface les frais généraux de l'EAV,
C'est bon en termes de performances, car il ne faudra qu'une seule requête pour charger le produit entier au lieu de joindre 5-6 tables pour obtenir les détails d'un seul produit.
Les colonnes sont appelées champs dans le modèle plat.
Magento a implémenté des indexeurs qui interrogeront périodiquement les collections standard et rempliront les tables de base de données plates au format suivant. Où * est l'identifiant du magasin.
catalog_category_flat_store_*
catalog_product_flat_*
Ces tableaux contiennent des données de produit et de catégorie non normalisées destinées à être en lecture seule. Cela permet à Magento de récupérer les données de catégorie et de produit en une seule requête.
Vous pouvez activer le catalogue plat en accédant à System > Configuration > Catalog > Frontend > Use Flat Catalog Category | Use Flat Catalog Product
. Réglez ceci sur oui.
Si vous ajoutez un nouvel attribut dans la table EAV pour le catalogue. N'oubliez pas d'exécuter la réindexation (System > Configuration > Index Management)
. La réindexation actualise vos tables de catalogue plates.
Pour plus d'informations, veuillez consulter «EAV» et «Flat Catalog» dans Magento