Sin impuesto Con impuesto

Ihre PrestaShop-Datenbank wächst unaufhörlich: welche Tabellen Sie leeren können und welche nicht

Eine Datenbank mit mehreren Gigabyte liegt nicht immer an den Bestellungen. Manche Tabellen wachsen mit jedem Besuch, und kaum jemand schaut sie an. Wir zeigen, welche das sind, welche sich gefahrlos leeren lassen und welche Sie nie anfassen sollten.

Equipo Rekire
Updated: 11/10/2026 5
Ihre PrestaShop-Datenbank wächst unaufhörlich: welche Tabellen Sie leeren können und welche nicht
Share:

Die Sicherung der Datenbank dauert immer länger, der Hoster meldet, dass Sie sich dem Speicherlimit nähern, und manche Seiten im Back-Office sind langsam. Sie sehen nach, was so viel Platz belegt, und stellen fest: Es sind weder Produkte noch Bestellungen, sondern Tabellen mit Namen wie connections, guest oder log, mit Millionen von Zeilen, die nie jemand angesehen hat.

Sehen wir uns an, welche Tabellen von selbst wachsen, wofür sie da sind und was sich bereinigen lässt, ohne etwas Wichtiges zu verlieren.

Zuerst messen

Bevor Sie etwas löschen, holen Sie sich die Liste der Tabellen, sortiert nach Größe. In phpMyAdmin oder dem Datenbankwerkzeug Ihres Hosters sehen Sie das direkt; alternativ mit einer Abfrage auf information_schema.TABLES, gefiltert nach dem Namen Ihrer Datenbank und sortiert nach DATA_LENGTH + INDEX_LENGTH. Fast immer konzentrieren wenige Tabellen den Großteil des Speicherplatzes.

In den Beispielen verwende ich das Präfix ps_, das Standardpräfix; Ihres kann anders lauten.

Die Tabellen, die mit jedem Besuch wachsen

ps_connections und ps_connections_source

Sie erfassen jeden Besuch im Shop und woher der Besucher kam. Sie werden von den internen Statistiken von PrestaShop genutzt (Besucher, Traffic-Quellen). Mit Bot-Traffic wachsen sie sehr schnell.

Lassen sie sich bereinigen? Ja, die alten Zeilen, wenn Sie die internen Besuchsstatistiken nicht nutzen oder Ihnen ein kurzer Zeitraum reicht. Sie verlieren den Besuchsverlauf dieser Statistikmodule, nicht Bestellungen oder Kunden.

ps_guest

Ein Datensatz für jeden per Cookie erkannten Besucher, mit technischen Daten des Browsers. Er ist mit den Verbindungen und den Warenkörben verknüpft.

Lässt sie sich bereinigen? Mit Vorsicht: nur Gäste, die keinem Kunden und keinem Warenkorb mit Bestellung zugeordnet sind. Gäste pauschal zu löschen hinterlässt defekte Verweise.

ps_pagenotfound, ps_statssearch und ähnliche

Nicht gefundene Seiten und Suchanfragen der internen Suche, sofern die entsprechenden Statistikmodule aktiv sind. Sie helfen, defekte Links zu finden und zu verstehen, wonach Ihre Kunden suchen, aber Zeilen von vor Jahren helfen dabei selten.

Lassen sie sich bereinigen? Ja, die alten. Exportieren Sie vorher bei Bedarf eine Zusammenfassung der häufigsten Suchanfragen.

Die Warenkörbe

ps_cart und ps_cart_product speichern alle angelegten Warenkörbe, auch die, aus denen nie eine Bestellung wurde. In einem Shop, der seit Jahren läuft, sind das Hunderttausende.

  • Warenkörbe mit Bestellung werden nie angefasst. Die Bestellung verweist auf ihren Warenkorb, und viele Seiten, Rechnungen und Module brauchen ihn.
  • Aktuelle Warenkörbe ohne Bestellung auch nicht: Sie gehören Kunden, die gerade einkaufen oder zurückkommen können, und werden von den Modulen zur Wiederherstellung abgebrochener Warenkörbe genutzt.
  • Sehr alte Warenkörbe ohne Bestellung können Sie zusammen mit ihren Positionen löschen. Prüfen Sie vorher, dass kein Modul sie als Bezug nutzt (zugehörige Warenkorbregeln, gespeicherte Warenkörbe, Angebote).

Die Protokolle

ps_log

Das ist das Protokoll, das Sie unter Erweiterte Einstellungen → Protokolle sehen. Es wird vom Core und von den Modulen befüllt. Ein Modul, das bei jedem Besuch eine Meldung schreibt, kann es in wenigen Wochen füllen.

Lässt sie sich bereinigen? Ja, das Back-Office hat eine Option zum Leeren. Aber sehen Sie vorher nach, was es füllt: Wiederholt sich eine Meldung tausendfach, gibt es etwas zu beheben, und das Leeren der Tabelle versteckt nur das Symptom.

ps_mail

Das Protokoll der gesendeten E-Mails, sofern das Speichern der E-Mails aktiviert ist. Nützlich, um zu prüfen, ob eine E-Mail hinausging, aber es enthält Kundenadressen.

Lässt sie sich bereinigen? Ja, und das sollte mit einer festgelegten Aufbewahrungsfrist geschehen. Unbegrenzt zu speichern, welche E-Mails an wen gingen, bringt nichts und ist ein personenbezogenes Datum mehr.

Tabellen von Modulen

Viele Module führen eigene Protokolle: API-Aufrufe, Synchronisierungen, Meldungen. Manche bereinigen sie selbst, andere nicht. Prüfen Sie die großen Tabellen mit Modulpräfix und die Konfiguration des jeweiligen Moduls, bevor Sie von Hand löschen.

Was Sie nicht anfassen

Löschen Sie nichts von Bestellungen, Rechnungen, Kunden oder Produkten von Hand. Die Bestelltabellen (orders, order_detail, order_history, order_invoice, order_payment…) sind untereinander und mit Kunden, Adressen und Warenkörben verknüpft, und für Rechnungen gelten gesetzliche Aufbewahrungspflichten. Eine per Abfrage gelöschte Bestellung hinterlässt Reste in anderen Tabellen, bricht die Nummerierung, die PrestaShop aus der letzten Nummer ableitet, und bringt die Buchhaltung durcheinander.

Ebenfalls nicht anfassen sollten Sie:

  • Kunden und Adressen, außer über ein Verfahren zur Datenlöschung auf Antrag der betroffenen Person, das berücksichtigen muss, was Sie aufgrund gesetzlicher Pflichten aufbewahren müssen.
  • Abgelaufene spezifische Preise und Warenkorbregeln, ohne vorher zu prüfen, ob eine davon als Vorlage dient oder ein Modul davon abhängt.
  • Konfigurationstabellen mit Werten, die Sie nicht kennen: Meist stammen sie von deinstallierten Modulen, manchmal aber von aktiven Modulen mit wenig aussagekräftigen Namen.

Wenn die Bestellungen das Problem sind

Manchmal ist die große Tabelle die der Bestellungen, und das ist logisch: Ein Shop mit jahrelanger Aktivität sammelt viele an. Dann geht es nicht ums Löschen, sondern ums Archivieren: alte Bestellungen aus den aktiven Tabellen herausnehmen, damit das Back-Office mit weniger Zeilen arbeitet, und sie dabei vollständig und wiederherstellbar aufbewahren.

So gehen Sie bei der Bereinigung vor

  1. Vollständige Sicherung der Datenbank, geprüft.
  2. Testen Sie die Bereinigungsabfragen auf einer Kopie des Shops und prüfen Sie, dass alles weiter funktioniert: Bestellungen, Warenkörbe der Kunden, Statistiken.
  3. Löschen Sie in Stapeln, nicht Millionen Zeilen in einer einzigen Abfrage, die die Tabelle und den Shop sperren kann.
  4. Optimieren Sie die Tabellen, nachdem Sie viel gelöscht haben, um den Speicherplatz zurückzugewinnen.
  5. Beheben Sie die Ursache: Deaktivieren Sie Statistiken, die Sie nicht nutzen, bremsen Sie die Bots aus, die Tausende von Verbindungen erzeugen, reparieren Sie das Modul, das das Protokoll füllt.
  6. Planen Sie die Bereinigung, damit in ein paar Jahren nicht wieder eine große Aufräumaktion nötig ist.

So lösen Sie es in PrestaShop

RKR Order Archive nimmt Bestellungen, die älter sind als die von Ihnen festgelegte Anzahl von Tagen (standardmäßig 180), in den von Ihnen gewählten Status aus den aktiven Tabellen und speichert sie vollständig in Archivtabellen: Positionen, Verlauf, Rechnungen, Zahlungen, Retouren, Gutschriften, Warenkorb und Nachrichten. Es bietet einen Simulationsmodus, der zeigt, wie viele Bestellungen und Zeilen verschoben würden, ohne etwas anzufassen, Cron mit Token, Bericht per E-Mail, exakte Wiederherstellung mit derselben Bestellnummer und ein standardmäßig gesperrtes endgültiges Löschen. Die Bestellung mit der letzten Rechnungs-, Lieferschein- oder Bestellnummer archiviert es nicht, damit PrestaShop keine Nummer doppelt vergibt. Für die übrigen Tabellen (Verbindungen, Gäste, Warenkörbe, Protokolle) vermessen wir mit einem Support-Stundenpaket von Rekire Ihre Datenbank, bereiten die Bereinigung auf einer Kopie vor und richten sie als geplante Aufgabe ein.

Laden...
Cookie-Zustimmung
Zum Seitenanfang