Andy Dorwald
2004-02-20 17:16:51 UTC
Hallo,
ich habe mal eine bescheide Frage zur Performance beim einfügen von
Datensätze per ADO in eine DB.
Ich frage mich nämlich schon die ganze Zeit, welche Methode
schneller/effektiver ist, wenn ich z.B. ein paar tausend Adressen
importieren will?
1.)
For i = 0 To XXX
DB.Execute "INSERT INTO Adressen (Feld1, Feld2, Feld3, ...)
VALUES(Wert1,Wert2,Wert3,...)"
Next
ODER
2.)
with RS
.OPEN "Adressen", DB, adOpenKeyset, adLockOptimistic
For i = 0 To XXX
.AddNew
!Feld1 = Wert1
!Feld2 = Wert2
!Feld3 = Wert3
[...usw...]
.UPDATE
Next
end with
ODER VIELLEICHT SOGAR...
3.)
with RS
.OPEN "Adressen", DB, adOpenKeyset, adLockOptimistic
For i = 0 To XXX
.AddNew
!Feld1 = Wert1
!Feld2 = Wert2
!Feld3 = Wert3
[...usw...]
.UPDATEBATCH
Next
end with
Ich bin echt ein wenig ratlos - ich habe auch versucht dies zu testen, aber
es war auf meinem Rechner kaum spürbar, da die DB auf gleichem PC ist, wie
das VB-Programm.
Ich MUSS übrigens wirklich Satz für Satz übergeben, da ich je potentiellem
Datensatz einige plausibilitätschecks machen muss. Ein Übergeben von ADO1 zu
ADO2 ist somit nicht möglich!
Ich würde mich WIRKLICH SEHR über eine "Empfehlung" freuen!
Viele Grüße
Andy ;-)))
ich habe mal eine bescheide Frage zur Performance beim einfügen von
Datensätze per ADO in eine DB.
Ich frage mich nämlich schon die ganze Zeit, welche Methode
schneller/effektiver ist, wenn ich z.B. ein paar tausend Adressen
importieren will?
1.)
For i = 0 To XXX
DB.Execute "INSERT INTO Adressen (Feld1, Feld2, Feld3, ...)
VALUES(Wert1,Wert2,Wert3,...)"
Next
ODER
2.)
with RS
.OPEN "Adressen", DB, adOpenKeyset, adLockOptimistic
For i = 0 To XXX
.AddNew
!Feld1 = Wert1
!Feld2 = Wert2
!Feld3 = Wert3
[...usw...]
.UPDATE
Next
end with
ODER VIELLEICHT SOGAR...
3.)
with RS
.OPEN "Adressen", DB, adOpenKeyset, adLockOptimistic
For i = 0 To XXX
.AddNew
!Feld1 = Wert1
!Feld2 = Wert2
!Feld3 = Wert3
[...usw...]
.UPDATEBATCH
Next
end with
Ich bin echt ein wenig ratlos - ich habe auch versucht dies zu testen, aber
es war auf meinem Rechner kaum spürbar, da die DB auf gleichem PC ist, wie
das VB-Programm.
Ich MUSS übrigens wirklich Satz für Satz übergeben, da ich je potentiellem
Datensatz einige plausibilitätschecks machen muss. Ein Übergeben von ADO1 zu
ADO2 ist somit nicht möglich!
Ich würde mich WIRKLICH SEHR über eine "Empfehlung" freuen!
Viele Grüße
Andy ;-)))