WooCommerce: Potrzeba niestandardowych tabel zamówień

Opublikowany: 2022-06-22

Skalowanie sklepów WooCommerce przy jednoczesnym zapewnieniu optymalnej wydajności i wypychaniu sklepu na żywo z etapu inscenizacji przy jednoczesnym zachowaniu wszystkich zamówień i klientów w nienaruszonym stanie to poważne problemy, z którymi borykają się sklepy, nawet dzisiaj.

Za każdym razem, gdy konsument składa zamówienie w sklepie WooCommerce, dodaje dziesiątki danych zamówień i wpisów do tabeli bazy danych postmeta WordPress – co stwarza poważny problem dla sklepów obsługujących ogromne ilości zamówień i ostatecznie skutkuje pogorszeniem wydajności.

Dlatego na przestrzeni lat WooCommerce otrzymało kilka próśb o rozwiązanie tego problemu i stworzenie oddzielnych i niestandardowych tabel dla każdego podmiotu WooCommerce – bez wpływu na witrynę i istniejące rozszerzenia.

I wreszcie, WooCommerce pracuje teraz nad wdrożeniem niestandardowych tabel zamówień, aby rozwiązać problemy z wąskim gardłem i zapewnić większą stabilność sklepu.

W tym artykule przedstawiamy tabele niestandardowych zamówień WooCommerce – co to jest, nowe tabele dodane do struktury i jakie korzyści mogą przynieść Twojemu sklepowi WooCommerce. Zaczynajmy!

Przed tabelami zamówień niestandardowych WooCommerce

Wraz z rozwojem sklepów eCommerce, muszą przechowywać więcej danych i informacji o klientach w swoich bazach danych, co było głównym problemem, gdy zaczęło się WooCommerce. I początkowo WooCommerce nigdy nie był przeznaczony do przechowywania lub obsługi tak dużej ilości danych.

Sytuacja zmieniła się, gdy WooCommerce wprowadził nową wersję WooCommerce 3.0 i zachęcił programistów do korzystania z obiektów CRUD . CRUD to skrót od Create Retrieve Update and Delete – typowych operacji bazodanowych na danych. Otworzyło to przed programistami wiele możliwości – w tym abstrakcję danych z jej implementacji i zapewnienie abstrakcji nad bezpośrednim dostępem do bazy danych.

Bardziej prawdopodobne jest, że nadal będziesz używać struktur tabel bazy danych wp_post i wp_postmeta do przechowywania różnych danych, w tym zamówień, kuponów i produktów; jednak problem zaczyna się, gdy nadejdzie czas na skalowanie sklepu WooCommerce i otrzymujesz setki zamówień klientów dziennie.

Każde złożone zamówienie wywołuje update_post_meta() – co oznacza za każdym razem oddzielne zapytania o wstawienie danych bez rozwiązania dla zbiorczego wstawiania dla postu meta. W tym miejscu pojawia się idea niestandardowych tabel .

Możesz przenieść dane z postmety do tabel niestandardowych, co znacznie zmniejsza całkowitą liczbę zapytań o wstawianie zamówień o 80% – minimalizując tym samym wąskie gardło wielkości zamówienia.

Dowiedzmy się więcej o funkcjach i nowościach w tabelach zamówień niestandardowych WooCommerce.

Co nowego w tabelach zamówień niestandardowych WooCommerce?

Tabele zamówień niestandardowych to rozwiązanie, które zapewnia łatwą do zrozumienia i solidną strukturę bazy danych – specjalnie zaprojektowaną na potrzeby handlu elektronicznego. Wykorzystuje projekt WooCommerce CRUD do przechowywania danych o zamówieniach w pojedynczej i płaskiej tabeli – zoptymalizowanej pod kątem zapytań WooCommerce z minimalnym wpływem na wydajność sklepu.

Wprowadzenie niestandardowych tabel zamówień do rdzenia WooCommerce poprawia te trzy podstawowe właściwości sklepów eCommerce.

  1. Skalowalność

Jak omówiono wcześniej, wzrost liczby klientów i zamówień klientów zwiększa obciążenie bazy danych Twojego sklepu – co sprawia, że ​​obsługa zamówień klientów jest nieefektywna i zapewnia wysoką jakość obsługi. Ponadto zarządzanie jedną bazą danych z tysiącami wierszy stanowiło poważny problem.

Dzięki niestandardowym tabelom zamówień WooCommerce otrzymujesz dedykowane tabele dla danych, takich jak zamówienia i adresy zamówień, a tym samym dedykowane indeksy, mniej operacji odczytu/zapisu i mniej zajętych tabel. Ta funkcja umożliwia sklepom eCommerce wszystkich kształtów i rozmiarów skalowanie ich działalności do maksymalnego potencjału – bez interwencji ekspertów.

  1. Niezawodność

Niestandardowa tabela zamówień WooCommerce ułatwi wdrażanie i przywracanie docelowej kopii zapasowej danych. Nie musisz się już martwić o utratę zamówień, numerów inwentarzowych lub informacji o klientach dzięki niezawodnej kopii zapasowej w niestandardowych tabelach zamówień.

Ponadto ułatwi także implementację blokad odczytu/zapisu i zapobiegnie sytuacji wyścigu. Co więcej, WooCommerce pozostanie nietknięte na wypadek, gdybyś chciał przywrócić WP.

  1. Prostota

Nie musisz już przechodzić przez jedną ogromną bazę danych, aby zlokalizować podstawowe dane i wpisy WooCommerce.

Zamiast tego możesz łatwo przeglądać oddzielne tabele i łatwe w obsłudze wpisy, niezależnie od postów WP, aby znaleźć dane lub zrozumieć strukturę tabeli. Pozwala także łatwo tworzyć nowe wtyczki, wdrażać projekty sklepów i produktów oraz modyfikować WooCommerce z większą finezją.

Kompatybilność wsteczna

Podczas wdrażania WooCommerce ma na celu zapewnienie niestandardowych tabel zamówień WooCommerce jako funkcji opcjonalnej zamiast domyślnej aktualizacji.

Ta kompatybilność wsteczna zapewni istniejącym sklepom eCommerce wystarczająco dużo czasu na pracę z WooCommerce, przyjęcie nowej struktury bazy danych i dostosowanie ich sklepów do nowej funkcji.

Dlatego zanim twoi programiści będą mogli w pełni wykorzystać strukturę tabeli, będą mieli wystarczająco dużo czasu na obejście tej funkcji. WooCommerce planuje również publikować regularne przewodniki po aktualizacjach, aby wspierać przyjmowanie niestandardowych tabel zamówień.

Wymagania dotyczące tabel niestandardowych zamówień WooCommerce

Oto podstawowe wymagania dotyczące korzystania z niestandardowych tabel zamówień WooCommerce:

  • Powinieneś mieć WooCommerce 3.5.1 lub nowszą wersję.
  • Musisz także mieć możliwość uruchamiania poleceń WP-CLI w swoim środowisku WooCommerce, jeśli chcesz przeprowadzić migrację istniejących danych zamówień.

To polecenie będzie miało kluczowe znaczenie przy migracji danych zamówień z post meta do nowych tabel zamówień.

Ogólna struktura tabel niestandardowych tabel zamówień WooCommerce

Teraz, gdy widzieliśmy, jak niestandardowe tabele zamówień mogą przynieść korzyści Twojemu sklepowi eCommerce, przyjrzyjmy się strukturze tabeli i tym, co zmieniło się w nowej strukturze.

Oto nowe tabele, które można zobaczyć w ogólnej strukturze tabel dla zamówień.

  • Tabele podstawowe: Jak sama nazwa wskazuje, tabele podstawowe będą przechowywać podstawowe zdefiniowane właściwości zamówienia WooCommerce. Te właściwości obejmują większość pól metatabeli i pól z tabeli postów.

WooCommerce uważa tę grupę tabel za główny cel projektu tabel niestandardowych zamówień i ma na celu migrację danych do tabel podstawowych.

  • Metatabela: Metatablica służy jako miejsce przechowywania wszelkich jednorazowych wartości związanych z zamówieniem. Możesz również użyć tej tabeli jako lokalizacji rezerwowej do migracji metadanych, która nie jest częścią podstawowego modelu zamówienia.
  • Dodatkowe tabele wtyczek: Obecnie nie ma standardowego rozwiązania do przechowywania danych i informacji o wtyczkach, a kilka wtyczek przechowuje dane w tabelach postów. Nowa struktura tabeli zamówień wprowadza rozwiązanie dla wtyczek WooCommerce, które wymagają częstego przechowywania danych dla każdego zamówienia i wysyłki.

Chociaż nie jest to obowiązkowe wymaganie, jest to idealne rozwiązanie, jeśli Twój sklep korzysta z wielu wtyczek, aby zapewnić niezawodną wydajność sklepu i czas pracy w szczytowym ruchu. WooCommerce planuje również zbudować pomocne narzędzia i przewodniki, dzięki którym budowanie i migracja danych do tych tabel będzie dziecinnie prosta.

Oto proponowana struktura tabeli dla danych zamówień:

Źródło

Oto lista nowych tabel , które są częścią metadanych i tabel podstawowych wraz z ich przeznaczeniem:

  • wp_wc_orders: Ta tabela zawiera większość aktualnych pól podstawowych i kluczowych metakluczy.
  • wp_wc_order_addresses: W tej tabeli będą przechowywane adresy powiązane z zamówieniami, w tym adresy wysyłkowe i rozliczeniowe.
  • wp_wc_order_operational_data: WooCommerce użyje tej tabeli do przechowywania flag i pól, których używa do utrzymania wewnętrznej struktury zamówień. Będą trzymać to pole oddzielnie od podstawowej tabeli zamówień ze względu na częstsze zmiany w tych polach.
  • wp_wc_order_meta: Ta tabela będzie działać podobnie do tabeli wp_postmeta ; jednak umożliwi również rozszerzeniom przechowywanie jednorazowych danych związanych z zamówieniami.
  • wp_wc_order_notes, wp_wc_order_notes_meta: Wcześniej wp_comments i wp_commentmeta przechowywały uwagi dotyczące zamówień. Ale te nowe tabele będą teraz obsługiwać i przechowywać notatki dotyczące zamówień.

Dlatego WooCommerce zachęca sklepy eCommerce, które używają wielu wtyczek i przechowują ogromne ilości danych w metatabeli postu, do korzystania z tej aktualizacji i wykorzystywania dedykowanych tabel niestandardowych.

Ponadto zachęca również programistów, aby nie używali wp_wc_orders_meta dla typowych wartości związanych z zamówieniami, ponieważ jest to lepsze rozwiązanie do tworzenia kopii zapasowych do przechowywania danych rozszerzeń, które nie zostały jeszcze zmigrowane.

Możesz również zobaczyć strukturę poszczególnych nowych tabel tutaj.

Często zadawane pytania: Tabele zamówień niestandardowych WooCommerce

Tutaj odpowiadamy na często zadawane pytania dotyczące tabel niestandardowych zamówień WooCommerce.

  1. Kiedy zostanie wydana funkcja tabel niestandardowych zamówień?

Zespół programistów WooCommerce zamierza ukończyć i wydać początkową implementację funkcji do trzeciego kwartału 2022 roku. Obecnie zespół śledzi projekt na GitHub.

  1. Jaka będzie struktura tabeli?

Oto proponowany projekt struktury tabeli dla danych zamówień przez zespół WooCommerce.

  1. Czy pomaga też w uwzględnieniu większej liczby struktur e-mailowych?

Tak, wraz ze wzrostem długości pola e-mail ze 100 do 320 – możesz pomieścić większość struktur e-maili.

  1. Czy będę mógł przechowywać pola, których wcześniej nie mogłem?

Tak, funkcja usuwa również pola, które wymagają obliczenia i nie były wcześniej przechowywane, takie jak kwota_podatku_produktu i całkowita_kwota_produktu.

Wniosek

Tabele niestandardowych zamówień WooCommerce będą odgrywać główną rolę w skalowaniu dużych sklepów eCommerce i rozwiązywaniu najważniejszego problemu wąskiego gardła wydajności: dużej liczby zamówień.

Chociaż projekt jest nadal w trakcie wdrażania i ma zostać wydany w trzecim kwartale 2022 r., możesz być na bieżąco z projektem na oficjalnej tablicy projektu GitHub.

Możesz również spodziewać się regularnych aktualizacji, notatek rozwojowych i ogłoszeń na tym blogu w miarę postępu wdrażania, a WooCommerce udostępnia aktualizacje.