Да, плоские столы все еще вещь. Вы можете включить плоские таблицы для продуктов и категорий в магазинах -> Конфигурация -> Каталог -> Витрина.
Зачем нам плоские столы?
Они предлагают значительное повышение производительности для больших каталожных данных. У одного из наших клиентов есть только 5 категорий и около 250 продуктов, поэтому не имеет значения, включена ли у вас квартира. Это действительно имело значение, когда мы включили его для другого магазина, в котором было 800 категорий, 17000 товаров и 5 мультистор. Повышение производительности становится очевидным, когда вы начинаете замечать, что происходит в базе данных. Вот как выглядит база данных, когда у вас есть несколько веб-сайтов.
Дело в том, что объединения становятся очень дорогими с увеличением размера таблицы даже с индексами. Плоские столы УМЕНЬШИТЬ (не исключать) СОЕДИНЕНИЯ.
Когда они созданы или обновлены
Плоские таблицы регенерируются, когда вы делаете полный переиндекс с bin/magento indexer:reindex
. Они обновляются при обновлении продукта или категории. Обновляются только соответствующие строки.
Плоские таблицы не генерируются на setup:di:compile
** Какие атрибуты входят в плоские таблицы? (и некоторые ограничения) **
Краткий ответ - это все атрибуты, которые будут использоваться в списке товаров (листинг + многоуровневая навигация). Фронтальные настройки хранилища атрибутов решают, следует ли включать атрибут в плоские таблицы
Все атрибуты не сглажены из-за ограничений, которые я упоминаю ниже.
Ограничение плоского стола
Наконец, есть одно ограничение для этих плоских таблиц, которое накладывается mysql. Существуют ограничения на размер строки и размер столбца в таблице. Вы можете прочитать больше об этом в таблицах MySQL.
Вы найдете этот <max_index_count>64</max_index_count>
интересный узел в config.xml модуля-каталога.
Надеюсь, это поможет.
DROP
создать плоский стол, а затем создать егоindexer:reindex
? например, в случае сбоя одного из столов.Основано на документации magento для плоского стола, упомянутой в https://docs.magento.com/m2/ce/user_guide/catalog/catalog-flat.html.
Starting with Magento 2.3.0+, the use of a flat catalog is no longer a best practice and is not recommended. Continued use of this feature is known to cause performance degradation and other indexing issues
источник
Плоские таблицы больше не вещь. Это не добавляет никаких улучшений производительности и будет устаревшим в следующих выпусках
источник