Hallo,
ich habe einen DB-Server mit Oracle 9i laufen und führe dort via Netzwerk SQL-Operationen aus. Nun habe ich hier Performanceunterschiede festgestellt und würde gern mal hören, ob ich da was optimieren kann.
Bei 2.000 einzelnen Insert-Statements (via jdbc mit addBatch und excecuteBatch) dauert jedes einzelne Statement umgerechnet 2,8 ms. Mache ich das Gleiche mit 40.000 Statements, komme ich aber auf 4,2 ms pro Statement. (Ausführung auf der Datenbank (incl. Übertragung zum Server))
Läuft da irgendein Puffer voll, oder warum dieser Zuwachs?
Die Möglichkeit mehrere Tupel in einem Statement einzufügen gibt es ja in Oracle scheinbar nicht. Bleibt noch die Variante mit einem Dummytable, aus welchem ich die Daten mit einem INSERT ALL … SELECT … einfügen könnte, aber dazu müssten die Daten ja schon in der DB liegen, oder?
Wie könnte ich meine Zugriffe optimieren, bzw. wenigstens die 4,2 ms näher an die 2,8 ms heranbringen?
Es handelt sich im Moment noch um sehr einfache Datensätze (4 Spalten VARCHAR2 in zwei Tabellen)
Wäre für jeden Tipp bzw. jede Einschätzung dankbar.
Gruß Taste