Der Unterschied zwischen dem EAV- Katalog und dem Flat- Katalog ist wie folgt:
1. EAV-Katalog
EAV ist ein Datenbankmodell für Entitätsattributwerte, bei dem die Daten vollständig normalisiert sind. Jeder Spaltendatenwert wird in der jeweiligen Datentypentabelle gespeichert. Beispiel für ein Produkt
Produkt-ID ist in der catalog_product_entity_int
Tabelle gespeichert ,
Produktname in catalog_product_entity_varchar
Tabelle,
Produktpreis in catalog_product_entity_decimal
Tabelle,
Produkterstellungsdatum in catalog_product_entity_datetime
Tabelle,
Produktbeschreibung in catalog_product_entity_text
Tabelle.
EAV ist komplex, da es 5-6 Tabellen verknüpft, auch wenn Sie nur die Details eines Produkts abrufen möchten.
Spalten werden in EAV Attribute genannt.
2. Flacher Katalog
Das flache Modell verwendet nur eine Tabelle, ist also nicht normalisiert und verwendet mehr Datenbankspeicher. Es löscht den EAV-Overhead,
Wenn es um die Leistung geht, ist dies gut, da nur eine Abfrage erforderlich ist, um das gesamte Produkt zu laden, anstatt 5-6 Tabellen zu verknüpfen, um nur die Details eines Produkts abzurufen.
Spalten werden im flachen Modell als Felder bezeichnet.
Magento implementierte Indexer, die regelmäßig die Standardsammlungen abfragen und flache Datenbanktabellen in folgendem Format füllen. Wobei * die Geschäfts-ID ist.
catalog_category_flat_store_*
catalog_product_flat_*
Diese Tabellen enthalten nicht normalisierte Produkt- und Kategoriedaten, die nur zum Lesen bestimmt sind. Dies ermöglicht es Magento, Kategorie- und Produktdaten in einer einzigen Abfrage abzurufen.
Sie können den flachen Katalog aktivieren, indem Sie zu navigieren System > Configuration > Catalog > Frontend > Use Flat Catalog Category | Use Flat Catalog Product
. Setzen Sie dies auf Ja.
Wenn Sie ein neues Attribut zur EAV-Tabelle für den Katalog hinzufügen. Vergessen Sie dann nicht, die Neuindizierung durchzuführen (System > Configuration > Index Management)
. Durch die erneute Indizierung werden Ihre flachen Katalogtabellen aktualisiert.
Weitere Informationen finden Sie unter "EAV" und "Flat Catalog" in Magento
Magento verwendet das Entity-Attribute-Value (EAV) -Modell zum Speichern von Kunden-, Produkt- und Kategoriedaten in seiner Datenbank. Obwohl Sie mit dem EAV-Modell vollständig erweiterbare Attribute für diese Objekte haben können, werden Objektattribute in mehreren Tabellen und nicht in einer sehr großen Tabelle gespeichert.
Da Attribute in vielen Tabellen gespeichert sind - und dies schließt Kopien einiger der gleichen Attribute ein - können SQL-Abfragen lang und komplex sein. Mit der Funktion für flache Kataloge werden sofort neue Tabellen erstellt, in denen jede Zeile alle erforderlichen Daten zu einem Produkt oder einer Kategorie enthält.
In früheren Versionen von Magento musste der flache Katalog jedes Mal neu erstellt werden, wenn Sie Änderungen an Produktattributen oder Produktkategoriezuordnungen vorgenommen haben. In dieser Version wird der Flat-Katalog für Sie aktualisiert - entweder jede Minute oder entsprechend Ihrem Magento-Cron-Job.
Flat-Katalog-Optionen aktivieren nicht nur die Flat-Katalog- und Flat-Produkt-Indexer, sondern auch die Indexierung für Katalog- und Warenkorb-Preisregeln. Wenn Sie über eine große Anzahl von Artikelnummern (500.000 oder mehr) verfügen, kann Magento die Preisregeln für Kataloge und Warenkörbe schnell indizieren, wenn Sie die Produktoption für flache Kataloge aktivieren.
quelle
Flache Kategorien werden auch in Magento 1.9.2 nicht automatisch aktualisiert. Ich habe 1.9.3 nicht überprüft, da ich Indizes nach Massenaktualisierungen (z. B. Lagerbestand) immer manuell neu erstelle.
quelle