Innodb-Engine bietet Unterstützung für Datenbank-ACID-Transaktionen und implementiert vier Isolationsstufen des SQL-Standards. Die Engine bietet auch Sperren auf Zeilenebene und Fremdschlüsseleinschränkungen. Ihr Entwurfsziel besteht darin, Datenbanksysteme mit großer Kapazität zu verarbeiten. Es handelt sich tatsächlich um ein vollständiges Datenbanksystem, das auf dem MySQL-Backend basiert der Speicher für Pufferdaten und Indizes. Allerdings unterstützt die Engine keine Indizes vom Typ FULLTEXT und speichert nicht die Anzahl der Zeilen in der Tabelle. Bei SELECT COUNT(*) FROM TABLE muss die gesamte Tabelle gescannt werden. Diese Engine ist natürlich die erste Wahl, wenn mit Datenbanktransaktionen gearbeitet werden soll. Da die Sperrgranularität kleiner ist, sperren Schreibvorgänge nicht die gesamte Tabelle. Wenn die Parallelität hoch ist, verbessert die Verwendung der Innodb-Engine die Effizienz. Die Verwendung von Sperren auf Zeilenebene ist jedoch nicht absolut. Wenn MySQL beim Ausführen einer SQL-Anweisung den zu scannenden Bereich nicht ermitteln kann, sperrt die InnoDB-Tabelle auch die gesamte Tabelle.
MyIASM ist die Standard-Engine von MySQL, bietet jedoch keine Unterstützung für Datenbanktransaktionen und unterstützt auch keine Sperren auf Zeilenebene und Fremdschlüssel ) oder UPDATE (Beim Aktualisieren) von Daten muss der Schreibvorgang die gesamte Tabelle sperren, und die Effizienz ist geringer. Im Gegensatz zu Innodb speichert MyIASM jedoch die Anzahl der Zeilen in der Tabelle. Wenn Sie also COUNT(*) FROM TABLE auswählen, müssen Sie nur die gespeicherten Werte direkt lesen, ohne einen vollständigen Tabellenscan durchzuführen. Wenn die Tabelle weitaus mehr Lesevorgänge als Schreibvorgänge hat und keine Unterstützung von Datenbanktransaktionen erfordert, ist MyIASM ebenfalls eine gute Wahl.
1. MyIASM ist nicht transaktionssicher, während InnoDB transaktionssicher ist
2. Die Granularität von MyIASM-Sperren erfolgt auf Tabellenebene, während InnoDB unterstützt Zeilenebenensperre
3. MyIASM unterstützt den Volltextindex, aber InnoDB unterstützt keinen Volltextindex
4. MyIASM ist relativ einfach und effizienter als die Verwendung von InnoDB MyIASM
5. MyIASM-Tabellen werden in Dateiform gespeichert, was für die plattformübergreifende Verwendung praktischer ist
1. Bietet Hochgeschwindigkeitsspeicherung und -abruf sowie Volltextsuchfunktionen. Wenn Sie in Ihrer Anwendung eine große Anzahl ausgewählter Vorgänge ausführen, sollten Sie sich für MyIASM entscheiden.
2 B. ACID-Transaktionsunterstützung, wenn Sie in Ihrer Anwendung eine große Anzahl von Einfüge- und Aktualisierungsvorgängen durchführen, sollten Sie InnoDB wählen
Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen den beiden MySQL-Engines?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!