G
Guest
Gast
Guten Tag zusammen,
ich möchte mal eure Meinung zu folgendem Problem einholen:
Ich erzeuge mithilfe einer XML-Datei (~10MB) Objekte, die ich dann in der Datenbank abspeichere, was auch problemlos klappt.
Allerdings halte ich einige dieser gespeicherten Objekte in jeweils unterschiedlichen Maps, damit ich, falls ich das gleiche Objekt wieder erzeugen muss, auf die gespeicherte Entität wieder zugreifen kann. Ich verhindere somit Dubletten in der DB und habe nur die benötigten Datenbankzugriffe.
Nun ist es so, dass die XML-Datei relativ groß ist und ich ein commit() erst ganz zum Schluss durchführe, was ja eigentlich performancegünstiger ist. Dementsprechend habe ich die Befürchtung, dass die Maps sehr groß werden und der Garbage Collector die Maps auch nicht bereinigen kann, weil ja schließlich erst zum Schluss ein commit() ausgeführt wird und die Maps u.U. noch benötigt werden.
Bei "kleinen" XML-Dateien(< 5MB) funktioniert das sehr schnell. Nur bei dieser "großen" nicht. Ich habe das Gefühl, dass ich die INSERT-Statements schneller selber eintippen kann, da diese doch sehr langsam vorangehen (aufgrund des begrenzten Speichers).
Nun meine Frage an euch:
Wie könnte man die Performanz deutlich verbessern? Alle paar Entitäten ein commit() durchführen, damit der Speicher wieder frei wird? Oder habt ihr noch andere Ideen?
ich möchte mal eure Meinung zu folgendem Problem einholen:
Ich erzeuge mithilfe einer XML-Datei (~10MB) Objekte, die ich dann in der Datenbank abspeichere, was auch problemlos klappt.
Allerdings halte ich einige dieser gespeicherten Objekte in jeweils unterschiedlichen Maps, damit ich, falls ich das gleiche Objekt wieder erzeugen muss, auf die gespeicherte Entität wieder zugreifen kann. Ich verhindere somit Dubletten in der DB und habe nur die benötigten Datenbankzugriffe.
Nun ist es so, dass die XML-Datei relativ groß ist und ich ein commit() erst ganz zum Schluss durchführe, was ja eigentlich performancegünstiger ist. Dementsprechend habe ich die Befürchtung, dass die Maps sehr groß werden und der Garbage Collector die Maps auch nicht bereinigen kann, weil ja schließlich erst zum Schluss ein commit() ausgeführt wird und die Maps u.U. noch benötigt werden.
Bei "kleinen" XML-Dateien(< 5MB) funktioniert das sehr schnell. Nur bei dieser "großen" nicht. Ich habe das Gefühl, dass ich die INSERT-Statements schneller selber eintippen kann, da diese doch sehr langsam vorangehen (aufgrund des begrenzten Speichers).
Nun meine Frage an euch:
Wie könnte man die Performanz deutlich verbessern? Alle paar Entitäten ein commit() durchführen, damit der Speicher wieder frei wird? Oder habt ihr noch andere Ideen?