Magento 2: As mesas planas ainda são uma coisa?

17

As mesas planas ainda são uma coisa com a qual precisamos nos preocupar no Magento 2? Eu sei que há uma interface do usuário em que podemos ativar as tabelas simples, mas não tenho certeza de quão bem elas foram testadas e se elas ainda são necessárias.

Se tabelas planas ainda são uma coisa - onde / quando os atributos para tabelas planas são gerados e / ou regenerados. Isso acontece apenas na reindexação? Ou outras ações da interface do usuário podem desencadear uma geração de tabela simples? Isso acontece às php bin/magento setup:di:compile? Outros lugares?

Além disso - como o Magento decide se precisa tornar um atributo um atributo simples? São todos os atributos EAV achatada? Ou existem outros que podem não ser?

Alan Storm
fonte

Respostas:

24

Sim, mesas planas ainda são uma coisa. Você pode ativar tabelas simples para produtos e categorias em lojas-> configuração-> catálogo-> fachada da loja. insira a descrição da imagem aqui

Por que precisamos de mesas planas?

Eles oferecem um aumento significativo no desempenho para grandes dados de catálogo. Um de nossos clientes tem apenas 5 categorias e cerca de 250 produtos, portanto, não importa se você tem ou não o acesso. Realmente importava quando o ligamos para outra loja que tinha 800 categorias e 17000 produtos e 5 multistores. O aumento de desempenho se torna aparente quando você começa a perceber o que está acontecendo no banco de dados. Veja como é o banco de dados quando você tem vários sites.

tabelas de produtos planos para cada loja

a mesma coisa para categorias

O ponto em que as uniões se tornam muito caras com o aumento no tamanho da tabela, mesmo com índices. Mesas planas REDUZIR (não eliminar) JOINs.

Quando eles são criados ou atualizados

As tabelas planas são regeneradas quando você reindexa completamente bin/magento indexer:reindex. Eles são atualizados na atualização do produto ou categoria. Somente linhas relevantes são atualizadas.

As tabelas simples não são geradas em setup:di:compile

** Quais atributos entram em tabelas planas? (e algumas limitações) **

Resposta curta: todos os atributos que serão usados ​​na listagem de produtos (listagem + navegação em camadas). As configurações de frente de uma loja de atributos decidem se o atributo deve ou não ser incluído em tabelas simples

insira a descrição da imagem aqui

Todos os atributos não são achatados devido às limitações mencionadas abaixo.

Limitação de mesa plana

Finalmente, há uma limitação para essas tabelas simples que é imposta pelo mysql. Existem limites de tamanho de linha e tamanho de coluna na tabela. Você pode ler mais sobre isso nos limites da tabela mysql

Você encontrará esse <max_index_count>64</max_index_count>nó interessante no config.xml do module-catalog.

Espero que ajude.

Abhishek Jakhotiya
fonte
2
e quanto a pedidos planos? A opção de fazer encomendas planas não é ao lado dos queridos para categorias e produtos
ahnbizcad
É possível DROPuma mesa plana e depois deixá-la criar indexer:reindex? por exemplo, no caso de uma das tabelas travar além do reparo.
fritzmg 14/02
Os pedidos do @ahnbizcad já estão estáveis. tabela sales_order.
vitoriodachef
2

Com base na documentação do magento para tabelas planas mencionada em 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

Sarjan Gautam
fonte
Muitas consultas precisam ser reescritas :(
Rustyjim 21/11
0

Mesas planas não são mais uma coisa Não adiciona nenhuma melhoria de desempenho e seria descontinuada nos próximos lançamentos

bxN5
fonte