Hallo Zusammen,
ich habe jetzt den native connector getestet. Die Ergebnisse sind "durchwachsen":
PRO:
- bessere performance als mit dem connector J von Oracle
- keine Änderungen in den sourcen erforderlich
CON:
- der SET-Befehl wird leider auch nicht ausgeführt!
Wegen der besseren performance bleibe ich bei dem native connector.
Mein Problem mit dem nicht ausführbaren script ist aber leider nicht gelöst.
Das alternative script:
Code: Alles auswählen
SELECT
gel_kto,
gel_datum,
gel_buchungstyp,
betrag_logisch,
betrag_logisch + COALESCE((SELECT SUM(betrag_logisch)
FROM `vgeld_buchung_betraege_aktuellesjahr` b
WHERE b.gel_datum < a.gel_datum AND a.gel_kto = b.gel_kto),0) AS mitlaufendesumme
FROM `vgeld_buchung_betraege_aktuellesjahr` a
ORDER BY gel_kto, gel_datum
funtioniert zwar, ist bei 5.000 Datensätzen (indiziert) aber extrem langsamer als das optimerte script mit dem SET-Befehl (25 sec. zu 2 sec.).
Mit zunehmenden Datenvolumen dürfte die response time progressiv steigen.
Als stored procedure lässt sich das Problem wohl auch nicht performant lösen:
Da eine procedue kein result set liefert, müsste man in der procedure
alle Sätze in eine temp.-Tabelle kopieren und diese dann auslesen.
Vielleicht hat ja noch jemand eine zündende Idee,
Mit fällt nichts mehr ein.
Einen schönen Jahresausklang an alle,
WSO