Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| MyADOConnection.BeginTrans; Try For i:=0 To 1000000 do MySQLCommand.Execute;
MyADOConnection.CommitTrans; Except MyADOConnection.RollbackTrans; End; |
Transactionen sind ein Mittel auf der DBMS-Seite, um die Integrität der Daten sicherzustellen. Egal was, egal wie, entweder sind ALLE Änderungen der Transaktion übernommen worden, oder Keine. Selbst bei einem Stromausfall Mittendrin.
Das klassische Beispiel hierfür ist eine Banküberweisung;
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| Begin Transaction Try Betrag X von Konto A abziehen Betrag X auf Konto B gutschreiben Commit Transaction Except Rollback Transaction End |
Andere Möglichkeiten der Performanceverbesserung:
Erzeuge eine Stringliste, und pack die SQL-Anweisungen da rein. Es gibt ein Limit für die Gesamtlänge, glaub ich.
Ich schicke jedenfalls immer ca 100 Zeilen per ADOCommand.Execute los. Das könnte auch noch mal Einiges bringen.
Na denn, dann. Bis dann, denn.