InnoDB verfügt im Hintergrund über eine sehr aufwändige Architektur
InnoDB-Architektur
Im Falle eines Absturzes verfügt InnoDB über den doppelten Schreibpuffer und die Protokolldateien, um Mechanismen für die Wiederherstellung nach Abstürzen zu unterstützen. MyISAM verfügt nicht über einen solchen Schutz. Ich habe dazu in DBA StackExchange Beiträge geschrieben:
Oct 08, 2012
: MYSQL MyISAM-DatenwiederherstellungsimplementierungMar 19, 2012
: Sehr kleine MySQL-Tabelle stürzt ständig abMar 15, 2012
: Warum stürzen MySQL-Tabellen ab? Wie kann ich das verhindern?Feb 16, 2012
: MyISAM-Tabelle stürzt ständig ab. Welche Möglichkeiten habe ich?
MyISAM kann zu leicht abstürzen, da Daten niemals im Arbeitsspeicher zwischengespeichert werden. Alle Lese- und Schreibvorgänge erfordern rohe Zwangs-E / A aus der MyISAM-Tabellendatei .MYD
. Dies bedeutet, dass offene Dateizugriffsnummern dem Betriebssystem ausgeliefert werden.
Wenn InnoDB reparierbar sein soll, müssen Sie my.cnf so konfigurieren, dass InnoDB weniger vom Betriebssystem und mehr von der internen Architektur abhängig ist. Siehe meinen letzten Beitrag Hohe durchschnittliche Last aufgrund der hohen Verwendung der MySQL-CPU . Auf diese Weise kann InnoDB Crash Recovery mehr zur Selbstheilung beitragen.