Problem : Die GUI-Darstellung wird mit der Zeit immer träger
Aus HAP
Hintergrund:
Aus der Status-Tabelle wird für jedes angezeigte Device der aktuelle Status ausgelesen. Unter Umständen befinden sich in dieser Tabelle mehrere Millionen-Einträge. Die verwendeten SQL-Statements sind zwar eigentlich recht simpel, dennoch kommt es hier zum Teil zu erheblichen Verzögerungen bedingt durch die abgesetzten Abfragen an den SQL-Server.
Das Problem lässt sich wie folgt lösen (ab der SVN-Version >= 64 ist die Änderung bereits inkludiert):
Auf die Spalten ID, Type, Module, Address, Status und Config muss das Index-Flag gesetzt werden (z.B. phpmyadmin).
Die Datenbank wächst dadurch zwar etwas, allerdings gibt es keine Verzögerungen mehr bei der Darstellung.
Zusätzlich kann noch in regelmässigen Abständen das hap-dbcleanup-Script über den Scheduler aufgerufen werden um die Anzahl der Einträge in der status-Tabelle zu limitieren und die Datenbank entsprechend zu verkleinern.
