Heim >Datenbank >MySQL-Tutorial >Hochleistungs-MySQL – Einführung in die grundlegenden Unterschiede zwischen den Speicher-Engines MyISAM und InnoDB
Dieser Blogbeitrag fasst hauptsächlich die Unterschiede zwischen MyISAM und InnoDB zusammen
InnoDB und MyISAM sind die beiden am häufigsten verwendeten Tabellentypen bei der Verwendung von MySQL. Beide Tischtypen haben je nach Anwendungsfall ihre eigenen Vor- und Nachteile. Die grundlegenden Unterschiede sind:
(1) Der MyISAM-Typ unterstützt keine erweiterte Verarbeitung wie die Transaktionsverarbeitung, während der InnoDB-Typ Transaktionen unterstützt.
(2) InnoDB unterstützt das Sperren von Datenzeilen; MyISAM unterstützt kein Zeilensperren und nur das Sperren der gesamten Tabelle. Hierbei ist zu beachten, dass die Zeilensperre der InnoDB-Tabelle nicht absolut ist. Wenn MySQL beim Ausführen einer SQL-Anweisung den zu scannenden Bereich nicht ermitteln kann, sperrt die InnoDB-Tabelle auch die gesamte Tabelle, z. B. update table set num= 1 wobei der Name etwa „% aaa%“ lautet
(3) InnoDB unterstützt Fremdschlüssel, MyISAM jedoch nicht.
(4) InnoDB speichert nicht die spezifische Anzahl von Zeilen in der Tabelle. Das heißt, wenn „select count()“ aus der Tabelle ausgeführt wird, muss InnoDB die gesamte Tabelle scannen, um zu berechnen, wie viele Reihen gibt es. Aber MyISAM liest einfach die Anzahl der gespeicherten Zeilen. Beachten Sie, dass die Operationen der beiden Tabellen gleich sind, wenn die count()-Anweisung Where-Bedingungen enthält.
Das obige ist der detaillierte Inhalt vonHochleistungs-MySQL – Einführung in die grundlegenden Unterschiede zwischen den Speicher-Engines MyISAM und InnoDB. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!