Різниця між каталогом EAV та каталогом Flat полягає в наступному:
1. Каталог Eav
EAV - модель бази даних значень атрибутів сутності, де дані повністю в нормованому вигляді. Кожне значення даних стовпців зберігається у відповідній таблиці типів даних. Наприклад, для продукту,
ідентифікатор продукту зберігається в catalog_product_entity_int
таблиці,
назва продукту в catalog_product_entity_varchar
таблиці,
ціна товару в catalog_product_entity_decimal
таблиці,
дата створення продукту в catalog_product_entity_datetime
таблиці,
опис продукту в catalog_product_entity_text
табл.
EAV є складним, оскільки він приєднується до 5-6 таблиць, навіть якщо ви хочете отримати деталі лише одного продукту.
Стовпці називаються атрибутами в EAV.
2. Плоский каталог
Плоска модель використовує лише одну таблицю, тому вона не нормалізується і використовує більше простору бази даних. Він очищає EAV накладні витрати,
Це добре, коли йдеться про продуктивність, оскільки для завантаження цілого продукту буде потрібно лише один запит, а не 5-6 таблиць, щоб отримати лише одну деталь продукту.
Стовпчики називаються полями в плоскій моделі.
Magento реалізував індексатори, які періодично будуть запитувати стандартні колекції та заповнювати плоскі таблиці баз даних у наступному форматі. Де * - це ідентифікатор магазину.
catalog_category_flat_store_*
catalog_product_flat_*
Ці таблиці містять ненормовані дані про товари та категорії, призначені лише для читання. Це дозволяє Magento отримувати дані категорії та продукту в одному запиті.
Ви можете ввімкнути плоский каталог, перейшовши до System > Configuration > Catalog > Frontend > Use Flat Catalog Category | Use Flat Catalog Product
. Встановіть це так.
Якщо ви додаєте новий атрибут у таблицю EAV для каталогу. Тоді не забудьте запустити реіндексацію (System > Configuration > Index Management)
. Повторна індексація оновлює ваші плоскі таблиці каталогів.
Для отримання додаткової інформації перегляньте “EAV” та “Плоский каталог” в Magento