NEWS
MYSQL Verlaufsdaten von Objekt löschen *gelöst*
-
Hallo zusammen,
ich habe bei einigen Objekten die automatische Löschung versehentlich deaktiviert. Jetzt sind in diesen Datenpunkten Daten der letzten 2 Jahre abgespeichert, welche ich eigentlich gar nicht benötige.
Jetzt besteht ja die Möglichkeit die Verlaufsdaten manuell über die "Mülltonne" zu löschen, dass muss aber ja pro Datensatz gemacht werden. Gibt es hierfür noch einen einfacheren Weg mehrere Datensätze auf einmal loszuwerden?
Ich bin jetzt nicht der MYSQL Experte, sicherlich würde es auch direkt über die DB funktionieren.Gruß surfer
-
@surfer09 Installiere Dir halt HeidiSQL - damit kannst Du Deine Daten mit einer GUI bearbeiten.
-
@mickym Habe ich gerade mal getestet. Aber hier müsste ich ja nun eine Abfrage auf die jeweiligen Datenpunkte machen, damit ich auch die richtigen Werte lösche...
-
@mickym sagte in MYSQL Verlaufsdaten von Objekt löschen:
@surfer09 Installiere Dir halt HeidiSQL - damit kannst Du Deine Daten mit einer GUI bearbeiten.
Oder PhpMyAdmin ...
Oder per Script:
const cmd = 'DELETE FROM datenbank.ts_number WHERE id = xx AND ts < deinZeitpunkt' sendTo('sql.0', 'query', cmd, () => log('done!'));
(der Dank geht hier an @fastfoot)
-
@surfer09 Das geht relativ einfach:
Als erstes schaust Du mit Hilfe der Tabelle von Datapoints die ID an, um die richtige Datenquelle zu ermitteln
Danach gehst Du in die Tabelle, die die Datenpunkte enthält also zum Beispiel ts_number
Danach kannst Du zum Beispiel einen Schnellfilter auf die ID anwenden:
Damit enthält die Tabelle nur noch die Werte dieses Datenpunktes.
Du kannst dann die Datenpunkte direkt aus der Tabelle löschen:
Aber zumindest bekommst Du auch immer die SQL Abfrage mitgeliefert
Musst halt bissi rumexperimentieren.
Du kannst zum Beispiel alle zu löschenden Daten abfragen:
prüfen und dann löschen
Wie gesagt ist halt eine Hilfe, wenn du mit SQL Kommandos nicht fit bist oder die selektierten Datensätze überprüfen möchtest bevor Du eine Aktion ausführst.
-
@mickym: Danke schonmal für deine Anleitung. Ich versuche mich da gleich mal dran.
Ich habe gestern mal versucht über Verlaufsdaten manuell zu löschen (mehrere Datensätze markiert und mit dem Mülleimer gelöscht). Ich dachte damit würde ich die DB verkleinern, aber der Gegensatz ist passiert. Die Datenbank ist heute 100MB größer geworden, als vor meiner Löschaktion. Ich verstehe das irgendwie nicht...
-
Das mit dem löschen hat gut funktioniert! Danke für die Screenshots!
Allerdings würde ich jetzt erwarten, dass die Größe der DB kleiner wird. Oder liege ich da falsch? -
@surfer09 sagte in MYSQL Verlaufsdaten von Objekt löschen:
Oder liege ich da falsch?
ja, liegst du.
Du hast da jetzt wieder Luft drin, bei neuen Daten wird die erst einmal nicht mehr größer.
Außer das du dann mehr sichtbaren Platz hättest hat das aber sonst keine Nachteile.Wenn du googelst kannst du Abfragen finden welche dir die tatsächliche Größe anzeigen würden (also wieviel im inneren tatsächlich genutzt wird)
-
@surfer09 Nun in der Regel werden Datensätze gelöscht - aber kein Speicher freigegeben. Du kannst versuchen ob das mit Optimize komprimiert wird.
-
@bananajoe Ahh okay! Danke für den Hinweis. Ich dachte, das ich vielleicht irgendwo noch einen "Wartungslauf" für die DB durchführen muss, damit der Speicher wieder freigegeben wird oder ähnliches.
Aber gut, nun bin ich eines besseren belehrt -
@mickym Das hatte ich vorhin schon getestet.
-
Nach meiner Aufräumaktion wird die DB immer größer. Gestern Abend vor dem Löschen der Daten 642 MB - jetzt nachdem mehrere Millionen Zeilen gelöscht sind ca. 890MB.
-
@surfer09 was ist denn mit der Anzahl der Tabelleneinträge? Ist die größer oder kleiner geworden?
Nicht das du anlegst statt zu löschen -
@surfer09 ein erneutes Optimize baut die Tabellen neu auf und gibt den Speicher dadurch frei
-
@bananajoe Nein, ich bin genauso vorgegangen wie @mickym es beschrieben hatte.
Die Zeilen sind auch deutlich mehr geworden. Ich hatte vor meiner Löschaktion um die 11 Mio. Zeilen, jetzt sind es über 14 Mio.
@fastfoot: Das habe ich auch ausgeführt, da erscheint dann das hier. An der Größe und den Zeilen ändert sich danach nichts.
-
Nachtrag: "Analyze" hat geholfen, jetzt sind die Zeile deutlich geschrumpft und auch die Größe ist kleiner geworden.
-
@surfer09 sagte in MYSQL Verlaufsdaten von Objekt löschen:
"Analyze" hat geholfen
du hattest nur vergessen danach zu Aktualisieren(F5)
-
@fastfoot
Jetzt weiß ich, wie es geht.
-
@surfer09 sagte in MYSQL Verlaufsdaten von Objekt löschen:
@fastfoot
Jetzt weiß ich, wie es geht.
Das Problem habe ich öfters: "Jetzt wo ich weis wie es geht verstehe ich aus die Anleitung ..."