G
Guest
Gast
Guten Morgen,
wusste nicht ob ich meinen Thread in Datenbankprogrammierung oder Swing packen sollte - Performance Unterforum gibbet ja nicht mehr. Also Sorry fals falsch gepostet!
Zu meinem Anliegen:
Ich lese mir aus einer Datenbank derzeit ~10.000 Datensätze mit Hibernate aus einer MySQL DB.
Ausgelesen werden die Daten über
Was ich schön an Hibernate find, ist dass er mir gleich eine List mit den Objekten zum Arbeiten übergibt,
allerdings frage ich mich im Moment ob dies nicht eher mein Problem darstellt, da ich derzeit
ziemliche Performance Probleme bekomme.
10.000 Datensätze in phpMyAdmin anzeigen dauert nur wenige Millisekunden, das auslesen mit Hibernate
dauert ~15 Sekunden. Sind die Daten dann in der JTable gelandet (die Liste wird im Model hinterlegt) ist auch das navigieren durch die JTable nicht unbedingt das schnellste ...
Von solchen Dingen wie Sortierung über die TableHeader oder dergleichen einmal ganz abgesehen, das ist nämlich unzumutbar (könnte mir fast nen Kaffee holen in der Zeit)
Hatte eben kurz daran gedacht ob das Programm vllt. schneller laufen würde wenn man anstatt der HibernateObjekte sich eine List<HashMap<String, String>> aus der Db liest per Hibernate und die Werte direkt so an das Model gibt - hat jemand ne Idee ob dies vllt. schneller gehen würde?
Andere Variante über die ich nachgedacht hatte war, die Daten "Häppchen Weise aus der DB zu ziehen".
Also den ersten Select mit einem Limit von 5000 absetzen und wenn die Daten in die DB gelangen im Hintergrund die restlichen Daten nachladen und an die Liste anhängen.
Auch das nachladen der Datem beim Scrollen wie es z.B. schon auf der Seitze dzone.com zu sehen ist finde ich eigentlich recht interessant, allerdings wüsst ich nicht wie ich das ganze dann mit dem sortieren oder dergleichen lösen könnte/und oder sollte ...
Hat sonst jemand Tipps wie und wo man einiges an Performance gut machen kann im Bezug auf Hibernate und die JTable mit TableModels?
wusste nicht ob ich meinen Thread in Datenbankprogrammierung oder Swing packen sollte - Performance Unterforum gibbet ja nicht mehr. Also Sorry fals falsch gepostet!
Zu meinem Anliegen:
Ich lese mir aus einer Datenbank derzeit ~10.000 Datensätze mit Hibernate aus einer MySQL DB.
Ausgelesen werden die Daten über
Code:
Session.createQuery("select o from Object o").list();
Was ich schön an Hibernate find, ist dass er mir gleich eine List mit den Objekten zum Arbeiten übergibt,
allerdings frage ich mich im Moment ob dies nicht eher mein Problem darstellt, da ich derzeit
ziemliche Performance Probleme bekomme.
10.000 Datensätze in phpMyAdmin anzeigen dauert nur wenige Millisekunden, das auslesen mit Hibernate
dauert ~15 Sekunden. Sind die Daten dann in der JTable gelandet (die Liste wird im Model hinterlegt) ist auch das navigieren durch die JTable nicht unbedingt das schnellste ...
Von solchen Dingen wie Sortierung über die TableHeader oder dergleichen einmal ganz abgesehen, das ist nämlich unzumutbar (könnte mir fast nen Kaffee holen in der Zeit)
Hatte eben kurz daran gedacht ob das Programm vllt. schneller laufen würde wenn man anstatt der HibernateObjekte sich eine List<HashMap<String, String>> aus der Db liest per Hibernate und die Werte direkt so an das Model gibt - hat jemand ne Idee ob dies vllt. schneller gehen würde?
Andere Variante über die ich nachgedacht hatte war, die Daten "Häppchen Weise aus der DB zu ziehen".
Also den ersten Select mit einem Limit von 5000 absetzen und wenn die Daten in die DB gelangen im Hintergrund die restlichen Daten nachladen und an die Liste anhängen.
Auch das nachladen der Datem beim Scrollen wie es z.B. schon auf der Seitze dzone.com zu sehen ist finde ich eigentlich recht interessant, allerdings wüsst ich nicht wie ich das ganze dann mit dem sortieren oder dergleichen lösen könnte/und oder sollte ...
Hat sonst jemand Tipps wie und wo man einiges an Performance gut machen kann im Bezug auf Hibernate und die JTable mit TableModels?