Datenbank aufräumen

Hallo,

ich habe festgestellt, dass wir in der DB Tabelle „s_order_notes“ 858.000 Einträge haben und viele ohne UserID und aus dem Jahr 2015.

Inzwischen ist das DB Backup rasant angewachsen und wir würden gerne aufräumen. Daher die Frage, ob ich diese Tabelle einfach „leeren“ kann. Wie lange gilt der Cookie für den Merkzettel? Gibt es Fremdschlüssel zu anderen Tabellen oder kann hier alles Älter als X gelöscht werden?

Gleiches gilt für die Tabelle „s_order_basket“, welche 1.800.000 Einträge inzwischen hat. Was speichert diese tabelle? Es gibt ja auch noch die „s_order“ und „s_order_details“. Kann es sein, dass die „s_order_basket“ lediglich die Warenkörbe darstellt und keine Bestellungen? Unter welchen Bedingungen kann diese Tabelle bereinigt werden?

Viele Grüße und Danke
 

Interessiert mich auch. Hoffentlich antwortet hier bald Shopware.

Das Plugin könnte interessant für euch sein: https://store.shopware.com/dvsn892459438173/datenbank-aufraeumen-beschleunigen-und-alte-eintraege-loeschen.html?c=3

Viele Grüße

Plugin habe ich auch gefunden. Ich würde jedoch gerne besser verstehen was und wo Shopware speichert. Am besten wäre eine Auflistung aller Tabellen mit Beschreibung und was man leeren kann, wenn man beispielsweise an Datenbank Größen Limits kommt.

So eine Auflistung gibt es nicht. Das wirst du dir selber zusammen suchen müssen.

Viele Grüße

Es gibt teilweise sehr gute Artikel auf https://docs.shopware.com/de, kann das nicht von der Shopware AG hinzugefügt werden? Alles selbst zusammensuchen oder ausprobieren macht halt nicht so viel Spaß da sehr zeitaufwändig.

Es gibt sicherlich noch 100 andere Themen, die in der Doku ausführlicher behandelt werden könnten. Status heute ist aber, dass so eine Liste nicht in der Doku existiert und diese sicherlich auch nicht zeitnah aufgenommen wird.

Viele Grüße

Hallo.

Off-topic: alle Datenbank - Tabellen werden im Kapitel 8.3 Übersicht über die Datenbank nach Bereichen strukturiert im Buch von Daniel Nögel ( https://www.rheinwerk-verlag.de/shopware_4185/ ) erklärt. Eventuell ist er ja dazu bereit, die Informationen in das Shopware Wiki zu übernehmen.

Für viele Datenbank - Tabellen gibt es aber CronJobs, die diese in einem ausgewählten Intervall leeren, damit die Tabellen nicht zu viel Platz in Anspruch nehmen bzw. zu viele Einträge haben. Einfach mal die CronJobs durchforsten, siehe auch: https://docs.shopware.com/de/shopware-5-de/einstellungen/system-cronjobs .

Btw: es gibt aber wirklich auch wichtigere Themen, wofür man Dokumentationen erstellen kann, gerade das Thema kann man sich auch selbst zusammensuchen, die Shopware - Mitarbeiter arbeiten ja genauso nicht kostenlos.

Grüße

Sebastian

Sicherlich gibt es wichtigere Themen, aber unser Shop ist schon etwas größer und mit 30.000 Artikeln und mehreren Zehntausend Usern pro Tag auch nicht gerade “klein”. Diese Tabellen wachsen daher schon recht schnell und natürlich nutzen wir Cronjobs. 

Aber für die oben angesprochenen Themen gab es leider keinen und bevor ich im Live-Shop (der auch mit Navision verbunden ist) irgendwelche Tabellen leere, deren Verbindungen ich nicht kenne, frag ich lieber nach (auch wenn es ein PlugIn gibt, so würde ich gerne die Tabelle verstehen). Leider gibt es keine Fremdschlüssel, die gepflegt sind, so könnte man das recht schnell erkennen.

Auch der DB-Model ist leider schon sehr veraltet und ich kann auch verstehen, dass der Aufwand für die Erstellung zu gering ist. Daher werde ich das Buch bestellen und mich dort rein lesen. 

Die Merkzettel sind übrigens einfach löschbar. Bei den Baskets bin ich mir gerade nicht mehr sicher, aber ich glaube die “echten” Bestellungen werden in einer anderen Tabelle gespeichert und die oben genannte Tabelle beinhaltet nur erstellte Warenkörbe. Wir haben daher alles gelöscht, was älter als 3 Monate war.

Hier wäre nur interessant wie lang die Cookie Laufzeit genau ist, damit diese Info genutzt werden kann. Aber das bekomme ich auch noch über raus.

P.S.: danke für den Buchtipp

Also ich benutze immer SQLs in PhpMyAdmin um Daten schnell zu bereinigen. Für Warenkörbe löschen https://www.google.com/search?q=Shopware+5+SQL+Warenkorb

PS: Du kannst meist ein Plugin testen und im Code schnüffeln. Mit etwas Glück verwendet er reines MySQL.