Bei einer konsistenten Leseoperation verwendet
InnoDB
Multiversionierung, um einer Anfrage
einen Snapshot der Datenbank für einen bestimmten Zeitpunkt
(Point-in-Time) zu präsentieren. Die Anfrage erkennt die
Änderungen, die Transaktionen vor diesem Zeitpunkt vorgenommen
hatten, aber keine Änderungen späterer oder noch unvollendeter
Transaktionen. Die Ausnahme: Änderungen von früheren
Anweisungen in derselben Transaktion sind für die Anweisung
sichtbar.
Wenn Sie die Standardisolationsebene REPEATABLE
READ
benutzen, lesen alle konsistenten Leseoperationen
innerhalb derselben Transaktion den Snapshot, der durch die
erste Leseoperation in dieser Transaktion erzeugt wurde. Einen
frischeren Snapshot für Ihre Anfragen erhalten Sie, indem Sie
die laufende Transaktion committen und danach neue Anfragen
absetzen.
Konsistentes Lesen ist der Standardmodus, in dem
InnoDB
SELECT
-Anfragen auf
den Isolationsebenenen READ COMMITTED
und
REPEATABLE READ
verarbeitet. Konsistentes
Lesen errichtet keine Sperren auf den benutzten Tabellen, sodass
andere Benutzer diese Tabellen nach Belieben modifizieren
können, während eine konsistente Leseoperation auf ihnen
abläuft.
Beachten Sie, dass konsistente Leseoperationen nicht mit
DROP TABLE
und ALTER TABLE
funktionieren. Mit DROP TABLE
nicht, weil
MySQL eine Tabelle, die gelöscht wurde, nicht mehr benutzen
kann und InnoDB
sie zerstört, und mit
ALTER TABLE
nicht, weil dieser Befehl
innerhalb einer Transaktion ausgeführt wird, die eine neue
Tabelle anlegt und Zeilen aus der alten Tabelle in sie einfügt.
Wenn Sie die konsistente Leseoperation neu ausführen, kann sie
die Zeilen der neuen Tabelle nicht erkennen, da sie in einer
Transaktion eingefügt wurden, die in dem von der konsistenten
Leseoperation verwendeten Snapshot nicht sichtbar war.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.