Was ist der Unterschied zwischen Transaktions- und Nicht-Transaktionstabellen? Und wie läuft die SQL-Abfrage ab, wenn ich sie erstellen möchte?
Auch wann Transaktions- oder Nicht-Transaktionstabellen verwendet werden sollen?.
Transaktionstabelle bedeutet, dass Rollback / Commit funktioniert, wenn die Daten in der Transaktion bearbeitet werden.
Für nicht transaktionale Tabellen müssen Sie die Änderungen mit manuellem Code zurücksetzen. Keine Auswirkungen von RollBack und Commit. Diese Tabellen sind nützlich, um die Anweisungen mit hoher Leistung auszuführen.
Standardmäßig wird MySQL mit aktiviertem Autocommit-Modus ausgeführt. Dies bedeutet, dass MySQL das Update auf der Festplatte speichert, sobald Sie eine Anweisung ausführen, mit der eine Tabelle aktualisiert (geändert) wird.
Wenn Sie eine transaktionssichere Speicher-Engine (z. B. InnoDB, BDB oder NDB Cluster) verwenden, können Sie den Autocommit-Modus mit der folgenden Anweisung deaktivieren:
SET AUTOCOMMIT = 0;
Der Hauptunterschied zwischen diesen Tabellentypen besteht darin, dass Transaktionstabellen Transaktionen unterstützen
Erstellungsbeispiel:
CREATE TABLE mytable (
`pk_id` int(11) NOT NULL,
`name` varchar(128) DEFAULT NULL,
PRIMARY KEY (`pk_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;