Hi, ich habe aktuell ein kleines Performance-Problem. Bin aber auch bereit komplett andere Ansätze zu probieren.
Folgende Methode dauert viel zu lange:
Ich habe eine Liste von Datenbankobjekten
Ich habe schon über Streaming nachgedacht, ob man damit evtl. erst alle unique
Allerdings versuche ich mich gerade mehr ins Streaming zu fuchsen, aber ich finde keine Seite, die es mal so richtig schön erklärt. Aktuell bin ich froh darum, wenn ich eine Zeile Code erzeuge, die funktioniert und mir IntelliJ im Anschluss sagt, dass man das aber noch schöner machen könnte.
Letztendlich befülle ich mit der Liste ein Dropdownfeld in einer Primefaces 14 Tabelle als Filter für die Spalte. Also, falls es dafür eine bessere vielleicht eingebaute Möglichkeit gäbe, wäre ich natürlich auch dankbar.
Folgende Methode dauert viel zu lange:
Java:
private void setAbfragenList() {
List<String> refAbfragen = new ArrayList<>();
for (ResponseTime rt : responseTimes) {
ResponseTimeQuery query = rt.getQuery();
if (query == null) {
continue;
}
if (!refAbfragen.contains(query.getName())) {
refAbfragen.add(query.getName());
}
}
}
responseTimes
. In der sind 18500 Datensätze. Diese haben (eigentlich) alle eine ResponseTimeQuery query
, was wiederum auch eine Datenbankentität ist. Das erstellen meine Liste von Strings dauert aktuell 318 Sekunden. Ich denke das Hauptproblem ist das Holen des Namens der Suche, weil er schätzungsweise dafür jedes Mal eine Datenbankverbindung aufbaut.Ich habe schon über Streaming nachgedacht, ob man damit evtl. erst alle unique
ResponseTimeQuery query
aus der Liste holt und dann nur noch die Namen in einer Liste collecten lässt, damit er evtl. nicht über eine DB-Verbindung geht, sondern diese nur für die letztendlich 4 -5 Werte in der Liste aufbaut.Allerdings versuche ich mich gerade mehr ins Streaming zu fuchsen, aber ich finde keine Seite, die es mal so richtig schön erklärt. Aktuell bin ich froh darum, wenn ich eine Zeile Code erzeuge, die funktioniert und mir IntelliJ im Anschluss sagt, dass man das aber noch schöner machen könnte.
Letztendlich befülle ich mit der Liste ein Dropdownfeld in einer Primefaces 14 Tabelle als Filter für die Spalte. Also, falls es dafür eine bessere vielleicht eingebaute Möglichkeit gäbe, wäre ich natürlich auch dankbar.