Так, плоскі столи все ще річ. Ви можете ввімкнути плоскі таблиці для продуктів і категорій у магазинах-> конфігурація-> каталог-> вітрина.
Навіщо нам потрібні плоскі столи?
Вони пропонують значне підвищення продуктивності для великих даних про каталог. Один наш клієнт має лише 5 категорій і близько 250 товарів, тому це не має значення, якщо у вас квартира увімкнена або вимкнена. Це дійсно мало значення, коли ми ввімкнули його для іншого магазину, який налічував 800 категорій та 17000 товарів та 5 мультисторінок. Підвищення продуктивності стає очевидним, коли ви починаєте помічати, що відбувається в базі даних. Ось як виглядає база даних, коли у вас є кілька веб-сайтів.
Справа в тому, що приєднання стає дуже дорогою зі збільшенням розміру таблиці навіть за допомогою індексів. Плоскі столи ВИ зменшення (не усунення) ПРИЄДНАЄТЬСЯ.
Коли вони створюються або оновлюються
Плоскі таблиці відновлюються, коли ви робите повний реіндекс bin/magento indexer:reindex
. Вони оновлюються за оновленням продукту чи категорії. Оновляються лише відповідні рядки.
Плоскі таблиці не генеруються на setup:di:compile
** Які атрибути входять у плоскі таблиці? (та деякі обмеження) **
Коротка відповідь - це всі атрибути, які будуть використовуватися в переліку продуктів (перелік + багатошарова навігація). Налаштування фронту магазину атрибутів вирішують, чи слід атрибут включати в плоскі таблиці
Усі атрибути не вирівняні через обмеження, які я згадую нижче.
Обмеження плоского столу
Нарешті, є одне обмеження для цих плоских таблиць, яке накладається mysql. В таблиці є обмеження розміру рядків та розмірів стовпців Ви можете прочитати про це на MySQL межах таблиці
Цей <max_index_count>64</max_index_count>
цікавий вузол ви знайдете в config.xml модуля-каталогу.
Сподіваюся, що це допомагає.