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
-
Ich muss sagen, dass ich mit meinen 62 Jahren mit dem asynchronen Verhalten von Javascript noch auf "Kriegsfuss" stehe. :white_frowning_face:
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 ! :relaxed: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.
-
Werde mir das auch Mal anschauen im Laufe der Woche.
Ggf. kann @apollon77 etwas dazu sagen? -
@umbm Sag Bescheid, wie es funktioniert hat ...Hast Du mySQL ? Sonst musst Du ggfs. die Feldnamen / SQL -Statements leicht anpassen.
-
@tom57 Leider habe ich Berechtigungsprobleme. Zugriff verweigert, es wird der User ...... für den Zugriff erwartet.