Jakiej bazy danych używa WooCommerce?

7 minuta
What database does WooCommerce use

WooCommerce używa jako bazy danych MySQL lub w pełni zgodnego odpowiednika MariaDB, czyli tej samej relacyjnej bazy, na której działa WordPress. Jako wtyczka WordPressa WooCommerce nadbudowuje istniejącą bazę WordPressa i dodaje własne tabele na produkty, zamówienia, klientów i ustawienia. Jedno zmieniło się w nowszych wersjach i ma największe znaczenie w 2026 roku: to, gdzie żyją zamówienia. Nowoczesny WooCommerce przechowuje je w dedykowanych tabelach wysokowydajnego przechowywania zamówień (HPOS), a nie w dawnych tabelach wpisów. Ten przewodnik omawia, jakiej bazy używa WooCommerce, jak zorganizowane są dane i jak utrzymać bazę szybką.

Jakiej bazy danych używa WooCommerce?

WooCommerce używa MySQL, dziedzicząc bazę bezpośrednio z WordPressa. Po instalacji nie zmienia typu bazy; nadbudowuje istniejącą bazę WordPressa, dodając tabele na dane e-commerce, zwykle z przedrostkiem wc_, obok własnych tabel WordPressa na wpisy, użytkowników, komentarze i opcje.

MariaDB to alternatywa typu drop-in. Jest forkiem MySQL autorstwa jego pierwotnych twórców, a wiele hostingów uruchamia ją zamiast MySQL bez zmian w WordPressie czy WooCommerce. Dla aktualnych sklepów WooCommerce rekomenduje MySQL 8.0 lub wyższe albo MariaDB 10.6 lub wyższe, działające na silniku InnoDB. Starsze wersje działają jako próg, ale wersje rekomendowane dają lepszą wydajność i bezpieczeństwo.

Jak WooCommerce przechowuje zamówienia: HPOS

To największa zmiana w bazie WooCommerce w ostatnich latach. Dawniej każde zamówienie było przechowywane jako wpis WordPressa, ze wszystkimi szczegółami upakowanymi w wp_posts i wp_postmeta w postaci luźno ustrukturyzowanych par klucz-wartość. Ta tabela nigdy nie była projektowana pod zapytania o zamówienia, więc wraz ze wzrostem sklepu ekrany zamówień i raporty zwalniały.

Wysokowydajne przechowywanie zamówień (HPOS), wcześniej nazywane Custom Order Tables, zastępuje ten model. Zamówienia żyją teraz w dedykowanych, zindeksowanych tabelach zbudowanych pod e-commerce, w tym wc_orders, wc_order_addresses, wc_orders_meta i wc_order_operational_data. HPOS jest domyślne dla nowych instalacji od WooCommerce 8.2, wydanego w październiku 2023 roku, więc większość nowszych sklepów już z niego korzysta. Efektem są szybsze zapytania o zamówienia, bardziej responsywny panel i lepsza skalowalność dla sklepów o dużym wolumenie.

Ustawienie sprawdzisz lub zmienisz w WooCommerce → Ustawienia → Zaawansowane → Funkcje, gdzie istnieją trzy opcje: wysokowydajne przechowywanie zamówień (rekomendowane), przechowywanie w tabelach wpisów WordPressa (legacy) oraz tryb zgodności, który utrzymuje oba w synchronizacji. Istniejące sklepy migrują, włączając tryb zgodności, pozwalając danym uzupełnić się w tle, a następnie ustawiając HPOS jako nadrzędne. Przed przełączeniem na działającym sklepie wykonaj kopię zapasową i przetestuj na staging.

Jest tu ważna konsekwencja dla integracji. Ponieważ przy HPOS dane zamówień nie znajdują się już w wp_postmeta, każdy kod lub integracja odczytująca zamówienia bezpośrednim zapytaniem SQL do tabel wpisów przestanie działać. Wtyczki własne oraz połączenia z ERP lub CRM powinny korzystać z funkcji danych WooCommerce (CRUD) albo ze Store API i REST API, a nie z surowych zapytań. Jeśli Twój sklep łączy się z systemami zewnętrznymi, warto to potwierdzić przed przejściem na HPOS.

Jak zorganizowana jest reszta danych?

Zamówienia przeniosły się do HPOS, ale reszta WooCommerce nadal korzysta ze struktury WordPressa tam, gdzie ona pasuje. W szczególności produkty pozostają wpisami WordPressa: każdy produkt to wpis typu product w wp_posts, ze szczegółami w wp_postmeta i tabelą wc_product_meta_lookup dla szybkiego filtrowania i wyszukiwania. Poniższa tabela pokazuje główne grupy.

Grupa danychGłówne tabelePrzeznaczenie
Zamówienia (HPOS)wc_orders, wc_order_addresses, wc_orders_meta, wc_order_operational_dataSzczegóły zamówień, adresy, metadane i dane operacyjne
Produktywp_posts (post_type = product), wp_postmeta, wc_product_meta_lookupInformacje o produktach, warianty i atrybuty do wyszukiwania
Tabele analitycznewc_customer_lookup, wc_order_stats, wc_order_product_lookupSzybkie raportowanie o klientach, zamówieniach i produktach
Podatkiwc_tax_rate_classes, wc_tax_rates, wc_tax_rate_locationsStawki podatkowe, klasy i reguły lokalizacyjne
Wysyłkawc_shipping_zones, wc_shipping_zone_methodsStrefy wysyłki, metody i koszty

Taki podział danych pozwala WooCommerce uruchamiać wydajne zapytania: podsumowanie zamówienia, jego pozycje lub konkretne pole można pobrać bez skanowania dużych tabel ogólnego przeznaczenia.

Czy można użyć innej bazy danych z WooCommerce?

W praktyce MySQL i MariaDB to jedyne realne opcje i są wymienne. Poza nimi wsparcie szybko się kończy.

  • PostgreSQL: istnieją projekty uruchamiające na nim WordPressa, ale są nieoficjalne i mogą wprowadzać niestabilność. Nieodpowiednie dla sklepu produkcyjnego.
  • SQLite: odpowiednie dla bardzo małych instalacji WordPressa, ale ograniczenia współbieżności i wydajności wykluczają je w WooCommerce.
  • NoSQL (np. MongoDB): niezgodne z modelem danych WordPressa bez zmian, które zepsułyby WooCommerce.

Duże organizacje czasem synchronizują bazę WooCommerce z systemem zewnętrznym, takim jak Oracle czy SQL Server, na potrzeby raportowania lub integracji, ale sam sklep nadal działa na MySQL lub MariaDB. Praktyczna rada: pozostań przy MySQL lub MariaDB i włóż wysiłek w konfigurację oraz buforowanie, zamiast zmieniać typ bazy.

Jak utrzymać bazę WooCommerce szybką?

Wydajność bazy decyduje o tym, jak sklep zachowuje się wraz ze wzrostem. Większość przypadków pokrywa kilka działań.

  • Używaj HPOS. W każdym sklepie z dużą liczbą zamówień dedykowane tabele zamówień to największy pojedynczy zysk strukturalny.
  • Regularnie sprzątaj. Ogranicz rewizje wpisów, czyść wygasłe transienty i usuwaj porzucone koszyki oraz stare sesje, które po cichu rozdmuchują bazę.
  • Indeksuj pod realne zapytania. WooCommerce tworzy niezbędne indeksy; własne wzorce wyszukiwania mogą wymagać kolejnych, ale unikaj nadmiernego indeksowania, które spowalnia zapisy.
  • Dodaj buforowanie obiektów. Redis lub jego otwartoźródłowy fork Valkey trzyma często używane dane w pamięci i zdejmuje obciążenie z bazy.
  • Dostrój serwer. Dobierz rozmiar buffer poola InnoDB, by gorące tabele mieściły się w pamięci, a przy dużych sklepach dodaj repliki odczytu, aby raportowanie nie konkurowało z finalizacją zakupu.

Sharding bazy WooCommerce to działanie zaawansowane i rzadko potrzebne; niemal we wszystkich sklepach problem rozwiązują najpierw HPOS, buforowanie, indeksowanie i odpowiednio dobrany serwer.

Typowe problemy z bazą WooCommerce

Kilka problemów powraca, a wszystkim łatwiej zapobiec niż naprawiać je pod presją.

  • Wolne zapytania: częste przy dużych katalogach lub długiej historii zamówień. Monitoruj zapytania, naprawiaj lub zastępuj nieefektywne (często we wtyczkach zewnętrznych) i dodawaj indeksy dla częstych wyszukiwań.
  • Rozrost bazy: rewizje, transienty i porzucone koszyki kumulują się z czasem, spowalniając kopie zapasowe i zapytania. Czyść je według harmonogramu.
  • Limity połączeń: błędy „too many connections” w szczytach, zwłaszcza na hostingu współdzielonym. Pomagają buforowanie obiektów, lepszy hosting i uporządkowane wtyczki.
  • Uszkodzenie danych: po awarii lub błędnej aktualizacji. Przywróć z aktualnej kopii zapasowej albo użyj narzędzi naprawczych MySQL i WordPressa dla drobnych przypadków.

Dobrze prowadzona baza jest niewidoczna: klienci po prostu doświadczają szybkiego, niezawodnego sklepu. Przy złożonych platformach WooCommerce o dużym ruchu to zwykle na bazie wygrywa się lub przegrywa skalowanie, i jest ona dużą częścią naszej pracy przy WooCommerce, wydajności i B2B e-commerce, w tym migracji do HPOS i integracji wokół niej. Jeśli Twój sklep zwalnia wraz ze wzrostem, baza jest pierwszym miejscem, w które zaglądamy.

Najczęstsze pytania

Jakiej bazy danych używa WooCommerce?

WooCommerce używa MySQL lub zgodnego odpowiednika MariaDB, czyli tej samej relacyjnej bazy, na której działa WordPress. WooCommerce dodaje własne tabele, a w nowoczesnych wersjach przechowuje zamówienia w dedykowanych tabelach HPOS zamiast w dawnych tabelach wpisów.

WooCommerce używa MySQL czy MariaDB?

Oba działają. MySQL jest domyślne; MariaDB to zgodny fork, którego wiele hostingów używa jako zamiennika drop-in. WooCommerce rekomenduje MySQL 8.0 lub wyższe albo MariaDB 10.6 lub wyższe.

Czym jest HPOS w WooCommerce?

Wysokowydajne przechowywanie zamówień zapisuje zamówienia w dedykowanych tabelach bazy, takich jak wc_orders, zamiast w starszych tabelach wp_posts i wp_postmeta. Jest domyślne dla nowych sklepów od WooCommerce 8.2 (październik 2023) i poprawia szybkość zapytań o zamówienia, wydajność panelu oraz skalowalność.

Gdzie w bazie przechowywane są zamówienia WooCommerce?

W nowoczesnym WooCommerce z HPOS zamówienia żyją w dedykowanych tabelach, takich jak wc_orders, wc_order_addresses i wc_orders_meta. W starszych sklepach lub w trybie legacy są przechowywane jako wpisy w wp_posts z metadanymi w wp_postmeta. Produkty w obu przypadkach pozostają wpisami.

Czy WooCommerce może używać PostgreSQL lub MongoDB?

W praktyce nie. WooCommerce i WordPress są zbudowane pod MySQL i MariaDB. PostgreSQL jest niewspierane i niestabilne, a bazy NoSQL, takie jak MongoDB, są niezgodne bez zmian, które zepsułyby platformę. Duże sklepy czasem synchronizują dane z systemami zewnętrznymi do raportowania, ale sam sklep działa na MySQL lub MariaDB.

Pwel Zmyslowski

Paweł Zmysłowski

CEO WLC.team

W WLC odpowiada za proces sprzedaży i zespół sprzedaży, a w przypadku bardziej złożonych projektów pełnię również rolę analityczną i doradczą.

Strona autora

Czy Twój WordPress „działa, ale jest wolny”?

WIĘCEJ ARTYKUŁÓW

Czytaj także

  • How can I streamline the content approval process?
    15 minuta

    Jak usprawnić proces akceptacji treści?

    Usprawnienie procesu akceptacji treści oznacza ustawienie przepływów pracy w WordPressie, które ograniczają warstwy recenzji, automatyzują powiadomienia i ustalają jasne odpowiedzialności. Najskuteczniejsze podejścia łączą role użytkowników WordPressa, wtyczki przepływu redakcyjnego, ustandaryzowane bloki Gutenberga i scentralizowane zarządzanie danymi, aby usunąć wąskie gardła. Razem z metodykami zwinnymi i lepszymi protokołami komunikacji pozwalają zespołom treści publikować szybciej przy zachowaniu…

    Czytaj

  • Why do my comparison tables cause layout shift?
    10 minuta

    Dlaczego moje tabele porównawcze powodują przesunięcia układu?

    Tabele porównawcze często powodują przesunięcia układu, bo ich części ładują się bez zarezerwowanego miejsca, więc treść skacze w trakcie renderowania strony. Dzieje się tak, gdy obrazy nie mają wymiarów, dane dynamiczne ładują się bez placeholderów lub własne czcionki przeformatowują tekst po pierwszym renderowaniu. Przesunięcia układu szkodzą doświadczeniu użytkownika i Core Web Vitals, które wpływają na…

    Czytaj

  • How do you implement multiple payment gateways in iGaming platforms?
    11 minuta

    Bramka płatności iGaming: integracja wielu bramek, poradnik

    Wdrożenie wielu bramek płatności w platformach iGaming polega na zintegrowaniu kilku procesorów płatności, aby oferować różne opcje płatności, zapewnić zgodność z przepisami i zmaksymalizować wskaźniki sukcesu transakcji. To podejście wymaga starannego planowania technicznego, silnych zabezpieczeń i inteligentnych systemów routingu. Proces zwykle obejmuje integracje API, zarządzanie bazą danych i dokładne testy, aby stworzyć płynne doświadczenia płatnicze…

    Czytaj