Forum: Datenbanken
Delphi
by jobo,
20. Apr 2011
Nein :) Das hab ich schon verstanden, aber wohl auch zu undeutlich gesagt. Mir ist schon aufgefallen, dass Du Or und nicht oder geschrieben hast, also dass Du die Anweisung meinst.
Das ändert aber auch nichts daran, dass es dem TE wahrscheinlich nicht weiterhilft. Während wir hier mit verschiedenen RDBMS basteln, steht diese schräge Sache mit dem satzweisen Verfahren im Raum, ein wie ich finde...
Forum: Datenbanken
Delphi
by jobo,
20. Apr 2011
Hab ich mal wieder zu undeutlich ausgedrückt. Es geht mir nicht um den Unterschied zwischen einer Merge und einer Insert oder Update Anweisung. Es geht mir um das Verfahren in der SP aus dem Tutorial. Hier sind es nicht eine, sondern hundertausende solcher Anweisungen. Daher wundert mich die Angabe von 22 sec.
Wie gesagt, Insert hat bei mir unter 2 sec gedauert, update ca 0 sec, es gab ja...
Forum: Datenbanken
Delphi
by jobo,
19. Apr 2011
100000 Datensätze mit Firebird
Ein schönes, ausführliches Beispiel, trotzdem ein paar Anmerkungen.
Ich hab das mit external table unter oracle ausprobiert. Gleiche Daten, gleiches Verfahren. Unterschied war nur, dass es mit rawdata.csv direkt, also delimited gelaufen ist.
Dabei bin ich auf ca 5 Minute Laufzeit via insert/update stored proc gekommen.
Aufgefallen ist mir, dass der Update Fall...
Forum: Datenbanken
Delphi
by jobo,
19. Apr 2011
Es fehlt auch die Logik, die feststellt, ob update oder insert.
Bei 100000 bedeutet das 200000 Operationen, bei denen nur die Hälfte erfolgreich ist und dort zu einem gewissen Anteil dann noch reihenweise Pk Verletzungen auftreten. Wahrscheinlich ist das nicht besonders schnell.
Forum: Datenbanken
Delphi
by jobo,
19. Apr 2011
Ich würde in jedem Fall das commit weglassen, so etwas gehört m.E. nicht an eine solche Stelle.
(Nicht nur wg. Performance- du hast dann nicht nur 100000 Datensätze, sondern eben auch 100000 commits, mit denen Du nichts gewinnst, es bedeutet auch Totalverlust der Transaktionskontrolle)
Wenn möglich/ nötig würde ich die Datei auf den Server laden und von dort weiterverarbeiten. Da ich nicht...