Database Reference
In-Depth Information
Bild 6.27:
Transaktion
abschließen
COMMIT;
Verbucht alle Änderungen am Datenbestand (seit Beginn der
Transaktion) in der Datenbank und macht diese Änderungen
für andere Benutzer sichtbar.
Bild 6.28:
Transaktion
rückgängig ma-
chen
ROLLBACK;
Macht alle Änderungen am Datenbestand, seit Beginn der
Transaktion, rückgängig.
Wichtig : Damit Änderungen am Datenbestand überhaupt
rückgängig gemacht werden können, werden alle Transakti-
onsschritte in einem Logfile protokolliert. Zudem müssen alle
betroffenen Datensätze gesperrt werden, damit diese nicht
während der Laufzeit der Transaktion von anderen Daten-
bankbenutzern geändert werden können. Im Extremfall wird
der Zugriff auf ganze Tabellen für andere Benutzer gesperrt.
Dies bedeutet, dass es unter Umständen nicht einmal möglich
ist, Datensätze zu lesen, während die Transaktion abgearbeitet
wird.
Daraus ergeben sich folgende Anforderungen an den Pro-
grammierer einer Transaktion:
Transaktionen sollten möglichst kurze Laufzeiten haben.
Datensätze sollen nur gesperrt werden, wenn dies wirklich
notwendig ist (kann beim MS SQL-Server mit speziellen
Schlüsselwörtern im FROM-Teil gesteuert werden).
COMMIT sollte ausgeführt werden, sobald dies möglich ist.
Speziell bei der Programmierung von Schlaufen sollte darauf
geachtet werden, dass bei jedem Durchgang ein COMMIT
ausgeführt wird, sofern nicht die Schlaufe als Ganzes zur
Transaktion gehört. Andernfalls wird das Logfile unnötig
aufgeblasen und die Performance des Datenbanksystems
verschlechtert sich.
Search WWH ::




Custom Search