Magento 2: I tavoli piatti sono ancora una cosa?


17

I tavoli piatti sono ancora una cosa di cui dobbiamo preoccuparci in Magento 2? So che c'è un'interfaccia utente in cui possiamo accendere i tavoli piatti, ma non sono sicuro di quanto siano stati testati e se sono ancora necessari.

Se le tabelle flat sono ancora una cosa, dove / quando vengono generati e / o rigenerati gli attributi per le tabelle flat. Questo succede solo alla reindicizzazione? O altre azioni dell'interfaccia utente possono innescare una generazione di tabelle piatte? Succede a php bin/magento setup:di:compile? Altri posti?

Inoltre - come decide Magento se deve rendere un attributo un attributo piatto? Sono tutti appiattiti attributi EAV? O ce ne sono altri che potrebbero non esserlo?

Risposte:


24

Sì, i tavoli piatti sono ancora una cosa. Puoi abilitare tavoli piatti per prodotti e categorie dai negozi-> configurazione-> catalogo-> vetrina. inserisci qui la descrizione dell'immagine

Perché abbiamo bisogno di tavoli piatti?

Offrono un significativo aumento delle prestazioni per grandi dati di catalogo. Uno dei nostri clienti ha solo 5 categorie e circa 250 prodotti, quindi non importa se hai acceso o spento. Importava davvero quando lo accendevamo per un altro negozio che aveva 800 categorie, 17000 prodotti e 5 multistor. L'aumento delle prestazioni diventa evidente quando si inizia a notare cosa sta succedendo nel database. Ecco come appare il database quando si hanno più siti Web.

tabelle di prodotti piatti per ogni negozio

stessa cosa per le categorie

Il punto in questione diventa molto costoso con l'aumento delle dimensioni della tabella anche con gli indici. Tavoli piatti REDUCE (non eliminare) JOINs.

Quando vengono creati o aggiornati

Le tabelle piane vengono rigenerate quando esegui reindex completo con bin/magento indexer:reindex. Vengono aggiornati sull'aggiornamento del prodotto o della categoria. Vengono aggiornate solo le righe pertinenti.

I tavoli piatti non vengono generati su setup:di:compile

** Quali attributi vanno nelle tabelle piane? (e alcune limitazioni) **

La risposta breve è tutti gli attributi che verranno utilizzati nell'elenco dei prodotti (elenco + navigazione a più livelli). Le impostazioni frontali di un negozio di attributi decidono se l'attributo debba essere incluso nelle tabelle piatte

inserisci qui la descrizione dell'immagine

Tutti gli attributi non sono appiattiti a causa delle limitazioni che menziono di seguito.

Limitazione della tabella piatta

Infine c'è una limitazione per questi tavoli piatti che è imposta da mysql. Ci sono limiti di dimensione di riga e colonna sulla tabella. Puoi saperne di più sui limiti della tabella mysql

Troverai questo <max_index_count>64</max_index_count>nodo interessante in config.xml del modulo-catalogo.

Spero possa aiutare.


2
per quanto riguarda gli ordini flat? L'opzione per fare ordini forfettari non è accanto a quelli per categorie e prodotti
ahnbizcad

È possibile DROPun tavolo piatto e poi lasciarlo creare con indexer:reindex? ad es. in caso di crash dei tavoli irreparabilmente.
fritzmg

Gli ordini di @ahnbizcad sono già piatti. tabella sales_order.
vitoriodachef,


0

I tavoli piatti non fanno più nulla. Non aggiunge alcun miglioramento delle prestazioni e sarebbe deprecato nelle prossime versioni

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.