NEWS
SQL-Adapter - Reorganisation der Daten - Löschen von "Datenleichen"
-
Nach 1 1/2 Jahren Betrieb meiner mySQL-Datenbank habe ich viele "Leichen" in der Datenbank.
Dabei gibt es 2 Konstellationen:- Es gibt Datensätze in iobroker.datapoints und in den Werten z.B. iobroker.ts_number welche keinen Objekten mehr zugeordnet sind. (objects gelöscht)
- Es gibt Datensätze von object-states wo die Datenfortschreibung deaktiviert wurde.
Hat jemand ein einfaches Skript mit denen ich diese "Datenleichen" löschen kann?
Grüße Thomas
-
... versuche nun ein eigenes Skript zu schreiben.
Oder gibt es dies schon? -
Ich habe dazu auch noch nichts gefunden und hatte bisher auch keine Idee, wie ich das umsetzen kann.
Wenn du eine Lösung gefunden hast, wäre es schön, wenn die die hier teilen könntest.
-
Ich muss sagen, dass ich mit meinen 62 Jahren mit dem asynchronen Verhalten von Javascript noch auf "Kriegsfuss" stehe.
Folgender Skript funktioniert jetzt bei mir mit mySQL und hat ca. 100 Datenpunkte mit ca. 10 Mio. Records gelöscht. Echte Java-Profis werden vielleicht über den Code lachen ..... Bitte gerne verbessern !ANWENDUNG AUF EIGENE GEFAHR !!! BITTE ZUERST IM LESEMODUS LAUFEN LASSEN
Die Datenbank ist aber immer noch 1.1 GB gross und hat einen Hauptspeicherbedarf von 500-700 MB um performant zu arbeiten. D.h. ioBroker mit ca. 20 Instanzen + mySQL brauchen jetzt mehr als 3 GB HSP. Aktuell läuft alles in einer virtuellen Maschine in der Synology mit 4 GB HSP sehr zügig. (2 GB von früher "haken" -- kurze Stillstände bei Views mit 6-8 Flot-Diagrammen (Swapping))
-
Danke, das werde ich demnächst mal durchlaufen lassen.
Bin gespannt, was in meiner DB schon alles gefunden wird.
-
@umbm Sag Bescheid, wie es funktioniert hat ...Hast Du mySQL ? Sonst musst Du ggfs. die Feldnamen / SQL -Statements leicht anpassen.
-
Werde mir das auch Mal anschauen im Laufe der Woche.
Ggf. kann @apollon77 etwas dazu sagen? -
@tom57 Leider habe ich Berechtigungsprobleme. Zugriff verweigert, es wird der User ...... für den Zugriff erwartet.
-
@metaxa
Welche Berechtigungsprobleme - JS zu starten?