Heim >Datenbank >MySQL-Tutorial >Unterstützt MyISAM Transaktionen: Ignorieren oder Ausführen?

Unterstützt MyISAM Transaktionen: Ignorieren oder Ausführen?

DDD
DDDOriginal
2024-12-12 18:32:11256Durchsuche

Does MyISAM Support Transactions: Ignore or Execute?

Transaktionsunterstützung in MyISAM: Ignoriert oder führt Aktionen aus?

Beim Erkunden der Transaktionsunterstützung in InnoDB-Tabellen wundert man sich vielleicht über deren Verhalten in MyISAM . Überraschenderweise scheint auch die Ausführung derselben Transaktion auf einer MyISAM-Tabelle zu funktionieren. Es wirft jedoch Fragen darüber auf, was in diesem Fall tatsächlich passiert.

MyISAMs Transaktionsverarbeitung

Im Gegensatz zu InnoDB ist MyISAM eine nicht-transaktionale Engine. Es arbeitet im Auto-Commit-Modus, was bedeutet, dass jede Abfrage einzeln festgeschrieben wird. Dieses Verhalten gilt auch für START TRANSACTION-, COMMIT- und ROLLBACK-Vorgänge.

Aktionen ignorieren oder ausführen?

Um die Frage zu beantworten: MyISAM ignoriert diese Transaktionsbefehle. Es werden keine darauf basierenden spezifischen Aktionen ausgeführt. Die Abfragen innerhalb der Transaktion werden weiterhin sequentiell ausgeführt, aber nicht als atomare Einheit behandelt.

Architekturperspektive

Die Speicher-Engine ist eine eigenständige Ebene in der Architektur von MySQL , getrennt vom SQL-Parser. Die SQL-Schicht kommuniziert mit der Speicher-Engine über eine API auf niedrigerer Ebene. Diese Trennung ermöglicht eine gemeinsame SQL-Semantik über alle Engines hinweg, auch solche, die unterschiedliche Teilmengen von Funktionen unterstützen.

Das obige ist der detaillierte Inhalt vonUnterstützt MyISAM Transaktionen: Ignorieren oder Ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn