Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Datenbanken erstellen » Transaktionen und Isolationsstufen verwenden » Funktionsweise von Sperren

 

Sperrenkonflikte

SQL Anywhere verwendet Schema-, Zeilen-, Tabellen und Positionssperren nach Bedarf, um die verlangte Konsistenzstufe zu gewährleisten. Sie müssen die Verwendung einer bestimmten Sperre nicht explizit anfordern. Stattdessen legen Sie die Konsistenzstufe fest, die durch Auswählen der für diese Anforderung am besten geeigneten Isolationsstufe eingehalten wird. Die Kenntnis der einzelnen Sperrentypen hilft Ihnen bei der Wahl der Isolationsstufe und beim Verständnis für die Auswirkungen auf die Performance. Denken Sie daran, dass eine Transaktion sich nicht selbst durch das Setzen von Sperren blockieren kann. Ein Sperrenkonflikt kann lediglich zwischen zwei oder mehreren Transaktionen auftreten.

Konflikte bei Sperren

Während jeder der vier Sperrentypen speziellen Zwecken dient, beeinflussen sich alle Typen gegenseitig und können daher einen Sperrenkonflikt zwischen Transaktionen verursachen. Um die Datenbankkonsistenz zu gewährleisten, sollte immer nur eine Transaktion eine Zeile zu einer bestimmten Zeit ändern. Andernfalls könnten zwei Transaktionen gleichzeitig versuchen, einen Wert in zwei verschiedene neue Werte zu ändern. Daher ist es wichtig, dass eine Zeilenschreibsperre exklusiv ist. Im Gegensatz dazu ergibt sich kein Problem, wenn mehrere Transaktionen gleichzeitig eine Zeile lesen wollen. Da keine Transaktion sie ändert, gibt es keinen Konflikt. Daher können Zeilenlesesperren von vielen Verbindungen gemeinsam genutzt werden.

Die folgende Tabelle zeigt die Sperrenkombination, die einen Konflikt bewirkt: Schemasperren werden nicht berücksichtigt, da sie sich nicht auf Zeilen beziehen.

Lesen (Z) Absicht (Z) Schreiben (Z) Gemeinsam (T) Absicht (T) Exklusiv (T) Phantom (P) Einfüge (P)
Lesen (Z) Konflikt Konflikt
Absicht (Z) Konflikt Konflikt Konflikt
Schreiben (Z) Konflikt Konflikt Konflikt Konflikt Konflikt
Gemeinsam (T) Konflikt Konflikt Konflikt
Absicht (T) Konflikt Konflikt
Exklusiv (T) Konflikt Konflikt Konflikt Konflikt Konflikt Konflikt Konflikt Konflikt
Phantom (P) Konflikt Konflikt
Einfüge (P) Konflikt Konflikt