Closed lenilsas closed 1 month ago
Schöne Umsetzung! Ich habe mit 1051 Buchungen auf einer, im lokalen Netzwerk befindlichen, MySQL DB getestet. Reduzierung von ca. 5 Sekunden auf 2 Sekunden Ladezeit beim Anzeigen der Buchungsliste. Weiterhin haben sich die abgeschickten SQL queries deutlich reduziert.
Wir haben gerade unsere Hibiscus und JVerein Datenbanken zu MySQL umgezogen. Beim debuggen, warum das Anzeigen der Buchungen nun über 10s braucht, bin ich über diesen PR gestolpert. (JVerein 2.8.21 macht ja für jede einzelne Buchung, die ein Mitgliedskonto oder Projektnamen zugeordnet ist nochmal jeweils ein Datenbank Request, vermutlich um den Namen zu holen (das ist schon etwas unelegant implementiert, tbh))
Beim Überfliegen des PRs hab ich nicht gesehen, dass "Projekt" auch gecached wird. Fehlt das noch oder wurde das absichtlich ausgelassen?
Es gibt noch einige was man cachen könnte. Hier muss man nur abwägen, ob das wirklich zu Verbesserungen führt. Es wird dadurch ja auch mehr Arbeitsspeicher belegt. Ich habe erstmal die aus meinen Augen wichtigsten caches gemacht, da ich keine Projekte verwende sind diese nicht dabei. Hast du schon das Nigthly Build mit dem Cache getestet? Dann freue ich mich über Rückmeldungen ob es sich damit verbessert.
Ich habe Cache für einige Object eingerichtet. So werden deutlich weniger Querys ausgeführt was bei entfernten Datenbanken deutlich merklich sein sollte.