[DatenBank] wie am besten

J-C

Mitglied
Hi, ich ärger mich seit einiger Zeit mit Datenbanken rum, und mein Problem ist dass die Programme bei mir mit localhost mysql server ganz ok laufen. Übers Netzwerk bei mir zu Hause funktionieren sie auch ausreichend schnell. Bei meinem Auftraggeber braucht dass Programm fast 5 min zum starten, biss alle Werte geladen sind. Ein insert dauert ca. 15 sec...
Ich habe die Performance bei mir zu Hause auf das niveau gekriegt als ich nebenbei noch 3 GB Daten verschoben hab.

Um das ganze schneller zu gestalten bin ich vom ResultSet zum CachedRowSet weitergegangen.. aber dass Programm ist dadurch an den krietischen stellen (insert, select) noch zu langsam...
Ich befürchte fast dass ich da nicht mehr viel machen kann... Oder kennt jemand absolute performance killer?

Eine zweite Frage ist, wie benutzt man beans im Zusammenhang mit Datenbanken.
Ich habe mal in einem Forum gelesen dass beans zum temporären speichern der Werte aus der Datenbank ideal sein sollen - besser als dass CachedRowSet (welches ich teilweise buggy finde) - stimmt dass? Wenn ja wie gehts, hoffe ihr könnt mir auf die Sprünge helfen!

Und noch eine Frage, sind CachedRowSets als Grundlage für ein TableModel geeignet?
Ich machs im Moment so

public object getValueAt(rowIndex, columnIndex) {
crs.absolute(rowIndex);
return crs.getString(columnINdex);
}

is dass doll pervers?
 
Also normalerweise sollte niemals ein einziger Insert 15 Sekunden benötigen .. Ich denke mal das liegt an einer fehlerhaften Architektur bei deinem Auftraggeber .. Ich würde den Flaschenhals versuchen dort zu eliminieren ..
 
Falls du immer noch mit dem Problem kämpfst oder ähnliche Perfomanceprobleme hast, könnte es helfen nicht ständig bei jeder Abfrage eine neue Verbindung aufzumachen. Halte die Verbindung offen und benutze immer die gleiche Verbindung.

<Edit> Also irgendwo in Deinem Datenbankhandler(falls du sowas hast) die Connection als static deklarieren
 
Zuletzt bearbeitet:
Zurück