Seite 2 von 2

Verfasst: 05.05.2009 12:24
von AddMe
Hallo Kiffi,

vielen Dank für das Beispiel. :allright:
Kiffi hat geschrieben: Noch ein Tipp: Beim Einfügen grosser Datenmengen solltest Du eine
Transaktion verwenden. Das beschleunigt das Verfahren enorm:

Code: Alles auswählen

DatabaseUpdate(DB, "Begin Transaction") 
For Counter = 1 To ...
 DatabaseUpdate(DB, "Insert Into ...
Next Counter
DatabaseUpdate(DB, "Commit")


Das mit der Transaktion habe ich nicht so richtig verstanden.
Wenn ich diesen Codeschnippsel richtig verstehe, dann würde doch eine Zeile nach der anderen eingefügt werden.
Oder funktioniert das mit der Transaktion ganz anders??

Wäre klasse, wenn Du mir das erklären könntest.

Schon mal vielen Dank.

Gruß
Michael

Verfasst: 05.05.2009 12:28
von Kiffi
AddMe hat geschrieben:Wäre klasse, wenn Du mir das erklären könntest.
Jedes Insert würde ohne Transaktion dazu führen, dass die Datensätze
einzeln auf die Platte geschrieben werden. Das macht die gesamte
Operation ziemlich lahm. Mit Transaktion werden hingegen die Datensätze
erst einmal in einen Speicherbuffer geschrieben, der dann (wenn er gross
genug ist (oder ein Commit ausgeführt wird)) in einem Rutsch auf die Platte
geschrieben wird, welches die ganze Sache dann erheblich beschleunigt.

Grüße ... Kiffi

Verfasst: 05.05.2009 12:41
von AddMe
Hallo Kiffi,

vielen Dank für Deine Erläuterung. :allright:
Das verstehe ich. Das muss ich mir umbedingt merken.
Kann mir vorstellen, dass es hierdurch wesentlich
schneller geht.

Vielen Dank.

Gruß
Michael

Verfasst: 05.05.2009 16:22
von Andesdaf
> Böses ts-soft
Das ts-soft? :lol:

Verfasst: 28.06.2009 23:16
von padawan
@ Kiffi - Holy Moses, das ist ja echt ein super Tipp, das mit den Transactions, danke. Das macht ja locker ´n Performance-Unterschied von 1 zu, äh, 50 bis 1 zu 100 oder so, hab mal die Zeiten abgenommen, hängt natürlich auch noch von ein paar anderen Stellschräubchen ab.

Bin ja grad mit SQLite am Probieren und war gestern an diesem Write-Performance-Problem hängengeblieben. Hab mich heute schon durch einige Newsgroup- und Mailinglisten-Archive gegooglet heute, aber da hat niemand so klar wie Kiffi gesagt "Mach et soundso und dann klappt det ooch, und fettich!".