blog
user
13 052021

Sklep internetowy prestashop jak każda inna aplikacja wymaga okresowej konserwacji. Głównym celem jest przyspieszenie działania strony zarówno po stronie frontendu jak i backendu. Jedną z form optymalizacji sklepu interntowego jest optymazliacja bazy danych. Prestashop przechowuje w niej wiele informacji, które nie muszą być przechowywane w nieskończoność. Panel dostarczony przez system posiada co prawda narzędzia optymalizacyjne ale nie porządkują one bazy danych. 

Po zalogowaniu do phpmyadmin można przejrzeć tabele według rozmiaru plików. Tabele z największymi rozmiarami to ps_connections, ps_guest, ps_connection_source, ps_page_viewed. Wszystkie te tabele przechowują dane statystyczne. Jak widać na przykładzie poniżej pierwsze dwie tabele zajmują prawie 400MB. Z kolei cała baza danych w konkretnym przypadku zajmuje 600MB.



Baza danych prestashop zawiera jeszcze inne tabele, które mogą zostać wyczyszczone chociaż zawierają mniej rekordów i są mniejszego rozmiaru.

ps_log - tabela przechowująca informacje o działaniach przeprowadzanych w panelu

ps_pagenotfound - tabela przechowująca informacje o błędach 404

ps_statssearch - tabela przechowująca archiwalne wyszukiwania

ps_referrer_cache - tabela przechowująca informacje o urlach odsyłających

ps_mail - logi wysyłanych e-maili


Poniższy skrypt czyści tabele ale nie ze wszystkich rekordów. Wystarczy dla zmiennej @maxdate ustawić maksymalną datę dla których tabela ma zostać wyczyszcona z rekordów.


TRUNCATE ps_log; 
TRUNCATE ps_referrer_cache;

SET @maxdate = '2020-01-01 00:00:00';

DELETE c, cs
FROM ps_connections c
LEFT JOIN ps_connections_source cs ON (c.id_connections = cs.id_connections)
WHERE c.date_add < @maxdate;

OPTIMIZE TABLE ps_connections, ps_connections_source;

DELETE g
FROM ps_guest g
LEFT JOIN ps_customer c ON (g.id_customer = c.id_customer)
WHERE c.id_customer IS NULL;

OPTIMIZE TABLE ps_guest;

DELETE FROM `ps_pagenotfound` WHERE `date_add` < @maxdate ;

DELETE FROM `ps_statssearch` WHERE `date_add` < @maxdate ; 
DELETE FROM `ps_mail` WHERE `date_add` < @maxdate;


Optymalizacja bazy danych sklepu prestashop z pewnością przyczyni się do przyspieszenia działania sklepu internetowego. Warto więc okresowo przyjrzeć się wielkości bazy danych.



Nasze newsy

Śledź nasze aktualności.

blog
user
16 042024

Wiosenne pożądki na serwerze

Wiosenne uporządkowanie zasobów na serwerze.

blog
user
13 072023

Iteracja dużej ilości danych w Laravel Eloquent

Jak poprawnie iterować dużą ilość danych w Laravel Eloquent

blog
user
29 032023

Wtyczka do Octobercms blokująca ip

Nowa wtyczka do Octobercms zwiększająca bezpieczeństwo stron www.

logo

Masz pytania? Skontaktuj się