Sì, i tavoli piatti sono ancora una cosa. Puoi abilitare tavoli piatti per prodotti e categorie dai negozi-> configurazione-> catalogo-> vetrina.
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.
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
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.