In SQL Anywhere können Sie kontrollieren, inwieweit Vorgänge in einer Transaktion für die Vorgänge in anderen gleichzeitigen Transaktionen sichtbar sind. Dazu setzen Sie eine Datenbankoption namens Isolationsstufe.
In SQL Anywhere können Sie außerdem die Isolationsstufen einzelner Tabellen in einer Abfrage mit entsprechenden Tabellen-Hints kontrollieren.
SQL Anywhere unterstützt die folgenden Isolationsstufen:
Isolationsstufe | Merkmale |
---|---|
0—read uncommitted (nicht festgeschriebene Daten lesen) |
|
1 - read committed (festgeschriebene Daten lesen) |
|
2 - repeatable read (wiederholbare Lesevorgänge) |
|
3 - serializable (serialisierbar) |
|
snapshot1 |
|
statement-snapshot (Anweisungs-Snapshot)1 |
|
readonly-statement-snapshot (schreibgeschützter Anweisungs-Snapshot)1 |
|
1 Snapshot-Isolation muss für die Datenbank aktiviert sein, indem Sie Option "allow_snapshot_isolation" auf "On" setzen.
Die Standardisolationsstufe ist 0, außer für Verbindungen mit Open Client, jConnect und TDS, bei denen die Standardisolationsstufe 1 ist.
Auf Sperren basierende Isolationsstufen verhindern manche oder alle Interferenzen. Stufe 3 bedeutet die höchste Isolationsstufe. Niedrigere Stufen erlauben mehr Inkonsistenzen, haben aber normalerweise eine bessere Performance. Die Standardeinstellung ist Stufe 0 (Read Uncommitted).
Die Snapshot-Isolationsstufen verhindern alle Interferenzen zwischen Lese- und Schreibvorgängen. Es kann jedoch zu Interferenzen zwischen Schreibzugriffen kommen. Einige Inkonsistenzen sind möglich und die Performance in Konfliktsituationen ist die gleiche wie auf Isolationsstufe 0. Die Performance, die nicht im Zusammenhang mit Konflikten steht, ist schlechter, da Zeilenversionen gespeichert und verwendet werden müssen.
Alle Isolationsstufen garantieren, dass jede Transaktion vollständig oder überhaupt nicht ausgeführt wird, und dass keine Aktualisierungen verloren gehen.
Die Isolation besteht nur zwischen Transaktionen: Mehrere Cursor innerhalb derselben Transaktion können einander nicht überlagern.
Snapshot-Isolation
Typische Arten von Inkonsistenz
Isolationsstufe festlegen
Isolationsstufen in ODBC-fähigen Anwendungen
Isolationsstufe anzeigen
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |