Welchen zweck hat die cart Tabelle in der Datenbank

Hallo,

Welchen Zweck hat die „Cart“ Tabelle in Shopware, sind hier nur die verschiedenen Warenkörbe zwischengespeichert? Die Tabelle ist bei uns ziemlich voll und zieht die Performance des Servers sehr stark runter.
Gibt es einen Grund das diese nicht vom System bereinigt wird oder können wir diese einfach leeren?

1 „Gefällt mir“

Ja, das sind die Warenkörbe. Shopware löscht diese selbst nach 120 Tagen (ggf. leicht abweichender Wert), vorausgesetzt der Task bricht nicht wegen eines Memory Limit Fehler ab. Die 120 Tage können per yaml Datei manuell gesetzt werden. Einfach in GitHub nach der Konfiguration schauen oder hier um Forum müsste es auch stehen.

Moin @ErikN

Weißt du noch Groß die Tabelle bei euch war?
Bei einem unserer Kunden wurden allein gestern in der Tabelle 15000 Einträge generiert, alle auch mit einem extrem großen Payload (ca. 400 KiB pro Zeile) und mit der CustomerID „NULL“.

Daher vermute ich, dass es sich in unserem Fall um Bots handelt, aber verstehe nicht warum es nur bei diesem einen Kunden auftritt…

Die Cart speichert jede Veränderung des Warenkorbs ab. Daher hat ein Kauf unter Umständen auch 10 Einträge. Die Carts werden nach x Tagen gelöscht (konfiguriert in der shopware.yaml)

Wenn es zu viele Einträge sind, kommt PHP nicht mehr damit klar und kann nicht mehr löschen. Dann geht es nur noch über den MySQL Server.

Funktioniert bei 6.6 die Option in der z-shopware.yaml noch ?

shopware:
cart:
expire_days: X