FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: hermann1514 am 28 Juni 2016, 10:42:03

Titel: dblog und Primary Key
Beitrag von: hermann1514 am 28 Juni 2016, 10:42:03
Hallo,

ich sammel mein Daten in einer MYSQL DB. Da ich nun etwas am tunen bin, ist mir augefallen das in der DB sehr viele doppelte Einträge vorhanden sind.
Diese kann ich jedoch nicht so einfach löschen, da die DB keine primary Key hat.

Ist es ohne weiteres möglich einen primary Key hinzuzufügen ohne das FHEM sich daran stört?

Gruß
Hermann
Titel: Antw:dblog und Primary Key
Beitrag von: marvin78 am 28 Juni 2016, 10:43:53
Sind es doppelte Einträge oder kommt es nur durch falsches/redundantes loggen zustande? DBLog kreiert von sich aus keine doppelten Einträge. Was hat löschen von Zeilen mit dem Primary Key zu tun?

Primary Key ist nicht notwendig und auch nicht hilfreich für irgend eine Anwendung bezüglich FHEM.
Titel: Antw:dblog und Primary Key
Beitrag von: hermann1514 am 28 Juni 2016, 10:47:30
Ich habe mehrere Geräte die in 30 sekunden abschnitte die gleichen Werte in die DB geschrieben haben.
Das Problem habe ich durch eintragen vom event-min-interval und event-on-change-reading gelöst. Nun werden nur die geänderten Werte eingetragen.
Aber trotzdem bleiben die alten Einträge.
Zur Zeit habe ich 1.4 Mio. Einträge. Ich denke ich kann dieses zahl durch das löschen der "Überflüssigen" Werte halbieren um die Performance der DB und der Charts verbessern.

Wenn der primary key gesetzt ist, könnte ich das dann mit myphpadmin "bequem" lösen :-)

Titel: Antw:dblog und Primary Key
Beitrag von: Wernieman am 28 Juni 2016, 10:53:35
Warum brauchst Du dazu denn einen pkey?

Und Du willst bestimmt mit sql löschen, myphpadmin ist "nur" ein Frontend ..... wobei ich eine "echte" mysql-Konsole mittlerweile vorziehe ;o)
Titel: Antw:dblog und Primary Key
Beitrag von: marvin78 am 28 Juni 2016, 10:54:14
Ich frage mich noch immer wo hier der Primary Key ins Spiel kommt!?
Titel: Antw:dblog und Primary Key
Beitrag von: hermann1514 am 28 Juni 2016, 10:59:49
Also,

klar ist myphpadmin ein Frontend. Ist aber einfacher zum löschen einzelner Zeilen - und für mich schneller - als nicht SQL Spezialist.
Wenn der primary Key nicht vorhanden ist, kann ich im myphpadmin die Zeilen nicht auswählen und löschen. Sobald dieser gesetzt ist geht es.

An die SQL Spezialisten:
Wie kann ich denn mit einem SQL Befehl doppelte Werte löschen? Es soll jeweilt nur ein Wert erhalten bleiben.

Gruß
Hermann
Titel: Antw:dblog und Primary Key
Beitrag von: marvin78 am 28 Juni 2016, 11:00:58
http://www.lmdfdg.com/?q=mysql+doppelte+eintr%C3%A4ge+l%C3%B6schen
Titel: Antw:dblog und Primary Key
Beitrag von: hermann1514 am 28 Juni 2016, 11:05:12
 ;D ;D ;D ;D ;D...danke

Aber, das hatte ich schon gemacht. Und wie gesagt - als SQL Laie steig ich da im Moment noch nicht durch.

:)
Titel: Antw:dblog und Primary Key
Beitrag von: marvin78 am 28 Juni 2016, 11:05:42
Besser kann ich es wirklich nicht erklären.
Titel: Antw:dblog und Primary Key
Beitrag von: hermann1514 am 28 Juni 2016, 11:10:27
OK. Ich versuche es nochmal zu lernen.... ;D ;D ;D
Titel: Antw:dblog und Primary Key
Beitrag von: ernst1024 am 28 Juni 2016, 11:10:50
vielleicht solltest du dir die Möglichkeiten die dbLog anbietet einmal prüfen: deleteOldDays oder reduceLog