Quando dovrei usare l'opzione tavolo piano categoria?


16

A seguito di una domanda precedente vorrei sapere:

Quando dovrei usare l'opzione tavolo piano categoria?

Mentre cercavo su google ho trovato un consiglio per abilitarlo " quando hai moltissime categorie ". Ma quanto costa ?

Capisco facilmente che l'attivazione di tavoli piatti per i prodotti è una buona decisione in termini di prestazioni, ma è altrettanto importante per i cataloghi?

E quali conseguenze ne derivano? Ho appena appreso che l'abilitazione di tabelle di categorie piatte porta a non riuscire a salvare le posizioni dei prodotti di categoria. Almeno non è facile come senza l'opzione flat (grazie a Marius per il tuo aiuto). Ci sono altre cose menzionabili?

Grazie in anticipo :)

Risposte:


10

Se hai PHPMyAdmin installato sul tuo server puoi dare un'occhiata alle tabelle di Magento. Vedrai che ci sono molte cose che iniziano con catalog_product_...e catalog_category_....

Tutti questi sono utilizzati per ogni prodotto e categoria in modo che ciò significhi molte query complicate e pesanti per ogni pagina che chiami.

Per alleggerire il carico su MySQL e velocizzare il tuo negozio Magento offre tavoli piatti. Per esempio catalog_product_flat_1. Se dai un'occhiata alla struttura di questa tabella, vedrai che contiene molti dati di prodotto di base, il che significa che, ad esempio nell'elenco dei prodotti di categoria, è necessario eseguire una sola query su questa tabella invece di interrogare il più altre tabelle contenenti i dati degli attributi.

Tuttavia, questi dati vengono aggregati dai dati nelle altre tabelle, ciò significa che ogni volta che si salva un prodotto diversi indexes( System > Configuration > Index Management) vengono aggiornati per compilare questi dati del prodotto. In alcuni casi, come ad esempio durante lo sviluppo, questo potrebbe non essere necessario. Vuoi vedere immediatamente tutte le modifiche anche se il tempo di caricamento della pagina potrebbe richiedere del tempo.

Quindi, in conclusione, ogni volta che avvii un negozio al pubblico, attivali e durante la programmazione cerca di non utilizzare oggetti di catalogo o prodotto completi ma di utilizzare invece i dati forniti dagli indici piatti.


Penso che vorrei sempre attivare tabelle di prodotti piatti in un ambiente produttivo. Ma non ero così sicuro delle tabelle delle categorie piatte. Quindi dici che avresti sempre attivato entrambi? Indipendentemente da quanti cataloghi hai?
Celldweller,

Attivalo sempre, più categorie aumentano ovviamente i vantaggi, ma anche quando hai solo 10 categorie salverà comunque un paio di domande.
Sander Mangel

4
Dovresti sempre attivare entità di catalogo flat, ma in teoria c'è un caso in cui non funziona. Questo succede quando devi usare molti attributi nella lista dei prodotti e vai oltre il limite massimo di righe mysql. L'ho visto succedere solo una volta prima. Non devi preoccuparti molto, ma nel caso accada saprai il perché.
Marius

@Celldweller possiamo fornire ulteriori informazioni sulla tua domanda?
Sander Mangel

0

Se disponi di molte categorie o di molti attributi personalizzati per le categorie, è una buona scelta perché la complessità della query è ridotta. Tieni presente che il carico pesante ne beneficia ancora di più. Lo svantaggio principale è che le categorie e le categorie flat utilizzano un'interfaccia molto diversa, quindi spesso il codice deve essere molto attento in caso di categorie flat abilitate.


Eccoli di nuovo. Moltissimi. ;-) Quindi diresti anche "dipende da"? Attiveresti le tabelle delle categorie piatte se hai 10 cataloghi? O 50? È anche possibile disegnare una linea?
Celldweller,

È necessario sapere quali sono i casi con alcuni esempi di modifiche al codice da gestire mentre si abilita il catalogo flat.
Anurag Khandelwal,
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.