Ich weißt nicht, ob der Titel aussagekräftig ist aber ich suche nach einer Lösung für folgendes Problem:
Ich habe ein Programm, das aus Datenbankabfragen eine Excel-Datei generiert.
Jede Excel-Datei hat ca.30.000 Einträge, die in der Datenbank stehen, jeder Eintrag 20 Spalten.
Nun sind allerdings von den 20 Spalten bei jeder Abfrage 19 gleich, die 20. wird über eine relativ komplizierte SQL-Abfrage selektiert.
Weiteres Problem ist, dass nicht jede Excel-Datei alle 30.000 Einträge enthalten soll. D.h. es kommt vor, dass wenn in Spalte 20 kein Eintrag gefunden wird, alle anderen 19, die dazu passen raus fallen (Ist im Select ein Left Outer Join).
Ist es irgendwie möglich, dass ich mir die ersten 19 Spalten immer im Speicher halte und die 20. dazu "joine" praktisch oder ist es vermutlich eher schneller, jedes mal alle Daten aus der DB abzufragen?
Ich hatte an irgendsowas gedacht wie zwei HashMaps. Die erste Map enthält alle Keys, die zweite Map alle oder weniger Keys. Und dann zur zweiten Map mit der Untermenge die passenden 19 Spalten aus der ersten dazu-joinen/mappen, wie auch immer man es nennen will?
Geht sowas oder habt ihr eine andere Idee?
Ich habe ein Programm, das aus Datenbankabfragen eine Excel-Datei generiert.
Jede Excel-Datei hat ca.30.000 Einträge, die in der Datenbank stehen, jeder Eintrag 20 Spalten.
Nun sind allerdings von den 20 Spalten bei jeder Abfrage 19 gleich, die 20. wird über eine relativ komplizierte SQL-Abfrage selektiert.
Weiteres Problem ist, dass nicht jede Excel-Datei alle 30.000 Einträge enthalten soll. D.h. es kommt vor, dass wenn in Spalte 20 kein Eintrag gefunden wird, alle anderen 19, die dazu passen raus fallen (Ist im Select ein Left Outer Join).
Ist es irgendwie möglich, dass ich mir die ersten 19 Spalten immer im Speicher halte und die 20. dazu "joine" praktisch oder ist es vermutlich eher schneller, jedes mal alle Daten aus der DB abzufragen?
Ich hatte an irgendsowas gedacht wie zwei HashMaps. Die erste Map enthält alle Keys, die zweite Map alle oder weniger Keys. Und dann zur zweiten Map mit der Untermenge die passenden 19 Spalten aus der ersten dazu-joinen/mappen, wie auch immer man es nennen will?
Geht sowas oder habt ihr eine andere Idee?