Ja, flache Tische sind immer noch eine Sache. Sie können flache Tabellen für Produkte und Kategorien in Stores-> Konfiguration-> Katalog-> Storefront aktivieren.
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.
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
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.