Czyszczenie bazy danych PrestaShop: które tabele rosną i jak je odchudzić
Czyszczenie bazy danych PrestaShop to usunięcie starych danych, których sklep już nie potrzebuje: historii odwiedzin, porzuconych koszyków gości, starych wpisów dziennika i tabel po odinstalowanych modułach. Zacznij od pomiaru rozmiaru tabel, zrób kopię bazy, a potem usuwaj wiersze starsze niż wybrana data, partiami. Koszyków z zamówieniami nie ruszaj.
Autor: Zespół TellMyShop. Poradnik dla właścicieli sklepów PrestaShop: przyczyna, ręczna naprawa i to samo w rozmowie z czatem.
Aktualizacja: · 5 min czytania
Dlaczego baza PrestaShop rośnie, choć produktów nie przybywa?
Bo sklep zapisuje każdą wizytę. Moduły statystyk notują, kto wszedł, skąd i które strony obejrzał. Po kilku latach te tabele bywają większe niż cały katalog. Do tego dochodzą koszyki gości, którzy nic nie kupili, wpisy dziennika błędów i tabele modułów odinstalowanych bez sprzątania.
Twórcy PrestaShop piszą w poradniku o dbaniu o sklep, że część tabel może z czasem bardzo urosnąć, a dane w nich przestają być potrzebne. Wymieniają wśród nich tabele połączeń, które można regularnie czyścić ze starych wpisów.
Duża baza najczęściej daje o sobie znać tak:
- panel ładuje się wolno, zwłaszcza pulpit i statystyki,
- kopia zapasowa u hostingu trwa coraz dłużej albo przekracza limit,
- hosting ostrzega o miejscu na dysku albo o limicie bazy.
Gdy wolno działa sama strona sklepu, przyczyna leży zwykle gdzie indziej. Szerszą diagnozę opisujemy w poradniku PrestaShop wolno działa.
Które tabele można wyczyścić, a których nie ruszać?
Nazwy poniżej mają domyślny przedrostek ps_. Twój sklep może mieć inny, ustawiony przy instalacji.
| Tabela | Co trzyma | Czy można czyścić | Uwaga |
|---|---|---|---|
ps_connections, ps_connections_page, ps_connections_source | historia wizyt dla statystyk | tak, wiersze starsze niż wybrana data | znikną statystyki za ten okres; tabele mają adresy IP |
ps_guest | dane techniczne gości (przeglądarka, system) | ostrożnie | wiersze bywają powiązane z koszykami i klientami |
ps_cart, ps_cart_product | koszyki | tylko koszyki bez zamówienia, stare | koszyk z zamówieniem to część historii sprzedaży |
ps_log | dziennik błędów i działań w panelu | tak, stare wpisy | zostaw ostatnie tygodnie do diagnozy |
ps_pagenotfound | adresy z błędem 404 | tak, stare wpisy | świeże przydają się do przekierowań |
ps_statssearch | frazy z wyszukiwarki sklepu | tak, stare wpisy | to cenna wiedza o klientach, rozważ eksport |
ps_mail | dziennik wysłanych e-maili | tak, stare wpisy | zawiera adresy e-mail klientów |
| tabele po starych modułach | dane modułów, których już nie ma | po sprawdzeniu, czyje są | moduł mógł zostać tylko wyłączony |
ps_orders, ps_customer, ps_product i podobne | dane sprzedaży, klientów, katalogu | nie | to rdzeń sklepu, nie porządki |
Wartości progów, na przykład „starsze niż rok”, ustal sam. Zależą od tego, jak długo potrzebujesz statystyk i co mówią twoje zasady przechowywania danych.
Do podglądu danych PrestaShop ma Menedżera SQL w Zaawansowane → Baza danych. Instrukcja PrestaShop 8 wyjaśnia, że to narzędzie dla osób znających SQL i że blokuje zapytania zmieniające dane, takie jak DELETE. Samo czyszczenie robi się więc poza panelem, w phpMyAdmin u hostingu albo modułem do porządków.
Jak bezpiecznie wyczyścić bazę krok po kroku?
Ta lista jest dla twojego developera albo dla ciebie, jeśli pracujesz w phpMyAdmin i rozumiesz, co robisz.
- Zrób pełną kopię bazy u hostingu i sprawdź, że da się ją pobrać.
- Zmierz rozmiar tabel. Posortuj je od największej. Często dwie, trzy tabele odpowiadają za większość rozmiaru.
- Ustal okres do zachowania dla każdej tabeli z listy porządków, na przykład 12 miesięcy statystyk i 30 dni dziennika.
- Usuwaj wiersze starsze niż data, partiami, zamiast czyścić całe tabele. Duże usunięcie naraz potrafi zablokować bazę na długo.
- Sprawdź sklep po każdej partii: panel, statystyki, koszyk, jedno zamówienie testowe.
- Odzyskaj miejsce na dysku. Po usunięciu wierszy tabela często nie maleje sama. Optymalizację tabel zwykle robi hosting albo developer.
- Zapisz, co i kiedy usunąłeś, żeby przy następnych porządkach nie zaczynać od zera.
Przykład zapytań i podejścia do tych tabel opisuje PrestaHero. Część poradników radzi czyścić tabele w całości. To szybsze, ale tracisz całą historię naraz, więc usuwanie po dacie jest ostrożniejsze.
Jak czat pomoże ocenić i posprzątać bazę?
Najbezpieczniej zacząć od samego odczytu. W TellMyShop Pro twój czat (Claude albo ChatGPT) czyta bazę sklepu bez włączania przełączników, więc może policzyć rozmiary tabel, liczbę wierszy i wskazać pozostałości po modułach. Niczego przy tym nie zmienia.
Ty: Baza ma kilka gigabajtów. Sprawdź, co zajmuje miejsce. Nic nie usuwaj.
Twój czat: Największe tabele to historia wizyt i strony odwiedzin. Razem stanowią większość bazy. Na trzecim miejscu jest dziennik błędów, w którym większość wpisów ma ponad rok. Znalazłem też tabele modułu sliderów, którego nie ma już na liście modułów. Historia wizyt zawiera adresy IP, więc jej treści nie widzę przy obecnym poziomie danych klientów. Proponuję plan: dziennik błędów starszy niż 90 dni, tabele po sliderze do twojej decyzji, a historię wizyt starszą niż 12 miesięcy opiszę jako zadanie dla developera. Koszyków z zamówieniami nie ruszam.
Ty: Zacznij od dziennika. Pokaż, co dokładnie usuniesz.
Twój czat: Podgląd pierwszej partii:
Zapis wymaga przełącznika Serwis. Wtyczka zrobiła dziś kopię bazy, więc możesz go włączyć.
stara wersja: wpisy dziennika sprzed 2026-07-13
nowa wersja: zostają wpisy od 2026-07-13
Liczby i daty w przykładzie są przykładowe. Czat poda prawdziwe dla twojego sklepu.
Co jest potrzebne do każdego kroku:
- Pomiar i plan to odczyt bazy, dostępny w TellMyShop Pro od razu.
- Usuwanie wierszy to zakres przełącznika Serwis, który daje pełny dostęp techniczny do bazy i plików. Działa 3 godziny i włączysz go tylko przy udanej kopii bazy z tego samego dnia.
- Każda partia to osobna zmiana z podglądem i twoją zgodą. Trafia do historii zmian.
Kilka uczciwych zastrzeżeń. Tabele z adresami IP i e-mailami, jak historia wizyt czy dziennik e-maili, wtyczka traktuje jak dane klientów. Domyślnie czat nie widzi ich treści. Możesz czasowo włączyć wyższy poziom dostępu do danych klientów z podanym celem albo zlecić tę część developerowi. Czat przygotuje mu wtedy opis zadania. Duże porządki trwają, a limity pracy na godzinę ustawiasz w panelu modułu. Przed większą pracą czat sprawdzi, czy się zmieści, i zaproponuje etapy. Optymalizację tabel po usunięciu i powiększenie bazy u hostingu zostawiamy hostingowi albo developerowi.
Przy porządkach w bazie dobrze jest też przejrzeć same moduły. Pomoże w tym poradnik o zbędnych modułach PrestaShop. Przykładowe prośby znajdziesz w zastosowaniach osierocone wiersze i pozostałości w bazie i własny raport z danych sklepu.
Jak często czyścić bazę sklepu?
Wystarczy raz na kwartał albo pół roku sprawdzić rozmiary tabel i porównać je z poprzednim pomiarem. Jeśli jedna tabela rośnie szybko, warto zapytać, który moduł ją zapisuje i czy ten moduł jest ci potrzebny. Czasem lepszym rozwiązaniem niż regularne czyszczenie jest wyłączenie statystyk, z których nikt nie korzysta.
Stan sklepu możesz sprawdzić w darmowej wersji TellMyShop Free. Odczyt bazy i porządki z podglądem działają w TellMyShop Pro, ceny są w cenniku.
Pytania i odpowiedzi
Czy duża baza danych spowalnia sklep PrestaShop?
Może spowalniać panel, statystyki i kopie zapasowe, rzadziej samą stronę sklepu. Najczęściej rosną tabele z historią odwiedzin, których sklep nie potrzebuje do sprzedaży. Zanim cokolwiek usuniesz, sprawdź, które tabele są naprawdę duże.
Czy mogę wyczyścić tabelę ps_connections?
Zwykle tak, bo trzyma historię wizyt dla modułów statystyk. Po usunięciu stracisz te statystyki za usunięty okres. Bezpieczniej usuwać wiersze starsze niż wybrana data niż czyścić całą tabelę, i zawsze z kopią bazy.
Czy usuwanie starych koszyków jest bezpieczne?
Tylko koszyków, z których nie powstało zamówienie. Koszyk powiązany z zamówieniem jest częścią historii sprzedaży i nie wolno go ruszać. Takie porządki powinien przygotować developer, który zna strukturę twojej bazy.
Czy wystarczy kopia bazy zrobiona przez TellMyShop?
TellMyShop Pro robi kopię całej bazy przed pierwszą zmianą danego dnia i bez niej nie włączysz przełącznika Serwis. Przed dużymi porządkami warto mieć też własną kopię u hostingu. Dwie niezależne kopie to rozsądne minimum przy usuwaniu danych.
Czy TellMyShop Free pokaże, co zajmuje miejsce w bazie?
Nie. Darmowa wersja TellMyShop Free czyta tylko gotowe raporty: produkty, SEO, sprzedaż, dziennik i listę modułów. Odczyt bazy danych, w tym rozmiarów tabel, działa w TellMyShop Pro bez włączania przełączników.
PrestaShop jest zastrzeżonym znakiem towarowym PrestaShop SA. Claude jest znakiem towarowym Anthropic PBC. ChatGPT i OpenAI są znakami towarowymi OpenAI. TellMyShop nie jest powiązany z tymi firmami.