Kapitel 8. Transaktionen

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

MySQL hat nicht-transaktionale Speicher-Engines, wie MyISAM, aber InnoDB ist der Standard und die vermutliche Norm. Daher wird praktisch jede MySQL-Abfrage standardmäßig in einer Transaktion ausgeführt, auch eine einzelne SELECT Anweisung.

Hinweis

Dieses Kapitel gilt nicht, wenn du eine andere Speicher-Engine wie Aria oder MyRocks verwendest. Höchstwahrscheinlich verwendest du aber InnoDB, denn in diesem Fall ist jede MySQL-Abfrage eine Transaktion.

Aus unserer Sicht als Ingenieure erscheinen Transaktionen konzeptionell: BEGIN, Abfragen ausführen und COMMIT. Dann vertrauen wir darauf, dass MySQL (und InnoDB) die ACID Eigenschaften beibehält: Atomarität, Konsistenz, Isolation und Dauerhaftigkeit. Wenn die Arbeitslast der Anwendung - Abfragen, Indizes, Daten und Zugriffsmuster - gut optimiert ist, sind Transaktionen in Bezug auf die Leistung kein Problem. (Die meisten Datenbankthemen sind kein Problem, wenn die Arbeitslast gut optimiert ist.) Aber hinter den Kulissen führen Transaktionen zu ganz neuen Überlegungen, denn es ist nicht einfach, die ACID-Eigenschaften aufrechtzuerhalten und gleichzeitig die Leistung aufrechtzuerhalten. Glücklicherweise glänzt MySQL bei der Ausführung von Transaktionen.

Wie beim Replikationsrückstand im vorigen Kapitel geht das Innenleben von Transaktionen über den Rahmen dieses Buches hinaus, ...

Get Effiziente MySQL-Leistung now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.