Die PrestaShop-Datenbank: wachsende Tabellen, Indizes und sicheres Aufräumen
Nach ein paar Jahren kann ein Shop Millionen von Zeilen haben, die zu nichts nütze sind. Wir sagen Ihnen, welche Sie bereinigen können und welche tabu sind.
Die PrestaShop-Datenbank wächst mit jedem Besuch, nicht nur mit jeder Bestellung. Nach ein paar Jahren findet man häufig Tabellen mit Millionen Zeilen an Statistiken, die niemand abfragt und die Backups und einige Seiten verlangsamen.
Die Tabellen, die am stärksten wachsen
| Tabelle | Was sie speichert | Darf sie bereinigt werden? |
|---|---|---|
connections, connections_page, connections_source | Besuche für die Statistik | Ja, das Alte |
guest | Ein Eintrag pro Besucher | Mit Vorsicht (die Warenkörbe verweisen darauf) |
page_viewed, statssearch | Statistiken | Ja, das Alte |
log | Protokoll des Backoffice | Ja, das Alte |
cart, cart_product | Warenkörbe, auch abgebrochene | Nur alte Warenkörbe ohne Bestellung |
mail | Protokoll versendeter E-Mails | Ja |
Sicher aufräumen
- Vollständiges Backup vor allem anderen.
- Löschen Sie nach Datum und in Portionen, nicht alles auf einmal, um den Shop nicht zu blockieren:
DELETE FROM ps_connections
WHERE date_add < NOW() - INTERVAL 12 MONTH
LIMIT 50000;
- Bei Warenkörben löschen Sie nur die ohne Bestellung:
DELETE c FROM ps_cart c
LEFT JOIN ps_orders o ON o.id_cart = c.id_cart
WHERE o.id_order IS NULL
AND c.date_upd < NOW() - INTERVAL 6 MONTH;
Langsame Abfragen
Aktivieren Sie das Slow-Query-Log des MySQL- oder MariaDB-Servers (slow_query_log) während eines Tages mit normalem Traffic. Abfragen, die wiederholt auftauchen, stammen meist von einem bestimmten Modul und lassen sich fast immer mit einem Index beheben.
Servereinstellungen
Wenn Sie den Server verwalten, ist innodb_buffer_pool_size der einflussreichste Parameter: idealerweise groß genug, dass die täglich genutzten Tabellen in den Speicher passen. Auf Shared-Servern oder mit wenig RAM kann ein maßloses Erhöhen dem System aber den Speicher entziehen: Passen Sie ihn an die echte Größe Ihrer Daten an.
Weniger Daten, weniger Probleme
Deaktivieren Sie Statistiken, die Sie nicht nutzen (Module stats*), und planen Sie das Aufräumen einmal im Monat ein. Ihre Datenbank, Ihre Backups und Ihre Migrationen werden schneller.