Tak, płaskie stoły to wciąż coś. Możesz włączyć płaskie tabele dla produktów i kategorii ze sklepów-> konfiguracja-> katalog-> witryna sklepowa.
Dlaczego potrzebujemy płaskich stołów?
Oferują znaczny wzrost wydajności w przypadku dużych danych katalogowych. Jeden z naszych klientów ma tylko 5 kategorii i około 250 produktów, więc nie ma znaczenia, czy masz mieszkanie włączone czy wyłączone. To naprawdę miało znaczenie, kiedy uruchomiliśmy go dla innego sklepu, który miał 800 kategorii i 17000 produktów i 5 sklepów wielopoziomowych. Zwiększenie wydajności staje się widoczne, gdy zaczniesz zauważać, co dzieje się w bazie danych. Oto jak wygląda baza danych, gdy masz wiele witryn.
Chodzi o to, że połączenia stają się bardzo kosztowne wraz ze wzrostem wielkości tabeli nawet przy indeksach. Płaskie stoły ZREDUKUJ (nie eliminuj) ŁĄCZENIA.
Kiedy są tworzone lub aktualizowane?
Płaskie stoły są regenerowane, gdy wykonasz pełny reindeks bin/magento indexer:reindex
. Są one aktualizowane po aktualizacji produktu lub kategorii. Aktualizowane są tylko odpowiednie wiersze.
Płaskie tabele nie są generowane setup:di:compile
** Które atrybuty pasują do płaskich tabel? (i niektóre ograniczenia) **
Krótka odpowiedź to wszystkie atrybuty, które będą używane na liście produktów (lista + nawigacja warstwowa). Ustawienia frontowe magazynu atrybutów decydują, czy atrybut powinien być zawarty w płaskich tabelach
Wszystkie atrybuty nie są spłaszczone z powodu ograniczeń wymienionych poniżej.
Ograniczenia dotyczące płaskiego stołu
Wreszcie istnieje jedno ograniczenie dla tych płaskich tabel, które jest narzucone przez mysql. Tabela ma limity wielkości wierszy i kolumn. Możesz przeczytać więcej na ten temat na temat limitów tabel mysql
Ten <max_index_count>64</max_index_count>
interesujący węzeł znajdziesz w config.xml modułu module.
Mam nadzieję, że to pomaga.