Oui, les tables plates sont toujours une chose. Vous pouvez activer des tables plates pour les produits et catégories à partir des magasins-> configuration-> catalogue-> vitrine.
Pourquoi avons-nous besoin de tables plates?
Ils offrent une amélioration significative des performances pour les données de catalogue volumineuses. Un de nos clients n'a que 5 catégories et environ 250 produits, peu importe que vous ayez ou non à plat. Cela a vraiment compté lorsque nous l'avons allumé pour un autre magasin qui comptait 800 catégories et 17 000 produits et 5 magasins multiples. L'amélioration des performances devient apparente lorsque vous commencez à remarquer ce qui se passe dans la base de données. Voici à quoi ressemble la base de données lorsque vous avez plusieurs sites Web.
Le point étant les jointures deviennent très coûteuses avec l'augmentation de la taille des tables même avec des index. Les tables plates RÉDUISENT (n'éliminent pas) les JOINTS.
Quand sont-ils créés ou mis à jour
Les tables plates sont régénérées lorsque vous effectuez une réindexation complète avec bin/magento indexer:reindex
. Ils sont mis à jour lors de la mise à jour du produit ou de la catégorie. Seules les lignes pertinentes sont mises à jour.
Les tables plates ne sont pas générées sur setup:di:compile
** Quels attributs entrent dans les tables plates? (et certaines limitations) **
La réponse courte est tous les attributs qui vont être utilisés dans la liste des produits (liste + navigation en couches). Les paramètres d'une devanture de magasin d'attributs décident si l'attribut doit être inclus ou non dans les tableaux plats
Tous les attributs ne sont pas aplatis en raison des limitations que je mentionne ci-dessous.
Limitation de la table plate
Enfin, il y a une limitation pour ces tables plates qui est imposée par mysql. Il y a des limites de taille de ligne et de colonne sur la table. Vous pouvez en savoir plus à ce sujet sur les limites des tables mysql
Vous trouverez ce <max_index_count>64</max_index_count>
nœud intéressant dans config.xml du module-catalogue.
J'espère que cela pourra aider.