Magento 2: Sind flache Tische immer noch eine Sache?

17

Müssen wir uns in Magento 2 noch um flache Tische kümmern? Ich weiß, dass es eine Benutzeroberfläche gibt, über die wir die Flachbildschirme einschalten können, aber ich bin mir nicht sicher, wie gut sie getestet wurden und ob sie überhaupt noch benötigt werden.

Wenn flache Tabellen immer noch eine Sache sind - wo / wann werden die Attribute für flache Tabellen generiert und / oder neu generiert. Geschieht dies nur bei der Neuindizierung? Oder können andere UI-Aktionen eine Flat Table-Generierung auslösen? Passiert es bei php bin/magento setup:di:compile? Andere Plätze?

Außerdem: Wie entscheidet Magento, ob ein Attribut zu einem flachen Attribut gemacht werden muss? Sind alle EAV-Attribute abgeflacht? Oder gibt es andere, die vielleicht nicht sind?

Alan Storm
quelle

Antworten:

24

Ja, flache Tische sind immer noch eine Sache. Sie können flache Tabellen für Produkte und Kategorien in Stores-> Konfiguration-> Katalog-> Storefront aktivieren. Bildbeschreibung hier eingeben

Warum brauchen wir flache Tische?

Sie bieten eine erhebliche Leistungssteigerung für große Katalogdaten. Einer unserer Kunden hat nur 5 Kategorien und rund 250 Produkte. Es spielt also keine Rolle, ob Sie eine Wohnung haben oder nicht. Es war wirklich wichtig, als wir es für ein anderes Geschäft einschalteten, das 800 Kategorien und 17000 Produkte und 5 Multistores hatte. Leistungssteigerung wird deutlich, wenn Sie bemerken, was in der Datenbank passiert. So sieht die Datenbank aus, wenn Sie mehrere Websites haben.

Flache Produkttabellen für jedes Geschäft

Gleiches gilt für Kategorien

Der Punkt, bei dem es sich um Joins handelt, wird mit zunehmender Tabellengröße auch bei Indizes sehr teuer. Flache Tabellen REDUZIEREN (nicht eliminieren) VERBINDUNGEN.

Wann werden sie erstellt oder aktualisiert?

Flache Tabellen werden neu generiert, wenn Sie eine vollständige Neuindizierung durchführen bin/magento indexer:reindex. Sie werden bei Produkt- oder Kategorieaktualisierung aktualisiert. Es werden nur relevante Zeilen aktualisiert.

Flache Tabellen werden am nicht generiert setup:di:compile

** Welche Attribute gehen in flache Tabellen? (und einige Einschränkungen) **

Kurze Antwort sind alle Attribute, die in der Produktliste verwendet werden (Auflistung + geschichtete Navigation). In den Front-Einstellungen eines Attributsspeichers wird festgelegt, ob das Attribut in flachen Tabellen enthalten sein soll oder nicht

Bildbeschreibung hier eingeben

Alle Attribute werden aufgrund der unten genannten Einschränkungen nicht abgeflacht.

Flachtabellenbegrenzung

Schließlich gibt es eine Einschränkung für diese flachen Tabellen, die von MySQL auferlegt wird. In der Tabelle gibt es Beschränkungen für die Zeilen- und Spaltengröße. Weitere Informationen finden Sie in den Beschränkungen für MySQL-Tabellen

Sie finden diesen <max_index_count>64</max_index_count>interessanten Knoten in config.xml des Modulkatalogs.

Ich hoffe, das hilft.

Abhishek Jakhotiya
quelle
2
was ist mit Pauschalbestellungen? Die Option, Pauschalbestellungen
AhnbizCAD
Ist es möglich DROPeinen flachen Tisch zu erstellen und dann damit zu lassen indexer:reindex? zB im Falle eines irreparablen Absturzes der Tische.
Freitag,
@ahnbizcad Bestellungen sind bereits flach. sales_order Tabelle.
Vitoriodachef
0

Flache Tabellen sind keine Sache mehr. Sie bieten keine Leistungsverbesserungen mehr und werden in den nächsten Releases nicht mehr unterstützt

bxN5
quelle