Heim >Datenbank >MySQL-Tutorial >Hochleistungs-MySQL – Einführung in die grundlegenden Unterschiede zwischen den Speicher-Engines MyISAM und InnoDB

Hochleistungs-MySQL – Einführung in die grundlegenden Unterschiede zwischen den Speicher-Engines MyISAM und InnoDB

黄舟
黄舟Original
2017-03-15 17:19:251669Durchsuche


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!

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