Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MyISAM- und InnoDB-Tabellen in einer Datenbank

Heutzutage verwende ich standardmäßig immer InnoDB, insbesondere bei den von Ihnen erwähnten schreibintensiven Tabellen, bei denen MyISAM unter vollständiger Tabellensperre leidet. Hier ist ein direkter Vergleich.

Gründe für die Verwendung von MyISAM:

  • Tabellen sind wirklich schnell für selektierte Lasten
  • Sperren auf Tabellenebene schränken ihre Skalierbarkeit für schreibintensive Umgebungen mit mehreren Benutzern ein.
  • Kleinster Speicherplatzverbrauch
  • Volltextindex
  • Zusammengeführte und komprimierte Tabellen.

Gründe für die Verwendung von InnoDB:

  • ACID-Transaktionen
  • Sperren auf Zeilenebene
  • Konsistente Lesevorgänge – ermöglicht Ihnen, eine hervorragende Lese-Schreib-Parallelität zu erreichen.
  • Primärschlüssel-Clustering – liefert in einigen Fällen eine hervorragende Leistung.
  • Fremdschlüsselunterstützung.
  • Sowohl Index- als auch Datenseiten können zwischengespeichert werden.
  • Automatische Wiederherstellung nach einem Absturz – falls das Herunterfahren von MySQL unsauber war, werden InnoDB-Tabellen immer noch – den konsistenten Zustand wiederherstellen – Keine Prüfung/Reparatur, wie MyISAM es erfordern könnte.
  • Alle Aktualisierungen müssen die transaktionale Engine in InnoDB passieren, was oft abnimmt - die Leistung im Vergleich zu nicht-transaktionalen Speicher-Engines.

Das Obige wurde entnommen aus dieser Seite , die nicht mehr zu funktionieren scheint.