2010-11-22 3 views
6

Mögliche Duplizieren:
Should I always prefer MySQL InnoDB over MyISAM?Warum verwenden InnoDB über MySIAM

Unter welchen Bedingungen sollte über MyISAM verwendet werden InnoDB? Ich habe einige MySQL-Optimierungstests gesehen, bei denen MyISAM schneller ist. Alle meine Tabellen sind MyISAM. Warum sollte ich zu InnoDB wechseln?

+2

möglich Duplikat [? Soll ich immer lieber MySQL InnoDB über MyISAM] (http://stackoverflow.com/questions/ 1970160/sollte-ich-immer-bevorzugen-mysql-innodb-über-myisam) und [MyISAM vs. InnoDB] (http://stackoverflow.com/questions/20148/myisam-versus-innodb) und [MySQL: MyISAM vs Inno DB] (http://stackoverflow.com/questions/277440/mysql-myisam-vs-inno-db) und ... _zzzzzzzzzzzzzz_ (** Siehe auch: ** [was ist der Unterschied zwischen INNODB und MYISAM] (http : //serverfault.com/questions/54897/what-is-the-difference-between-innodb-and-myisam) ... –

+0

... und [Wie wählen Sie eine MySQL-Datenbank-Engine] (http://serverfault.com/questions/219/how-do-you-choose-a-mysql-database-engine)) –

+7

MySIAM ist veraltet. Sie sollten stattdessen MyTHAILAND verwenden. – JeremyP

Antwort

11

Pros & Nachteile von InnoDB & MyISAM -

  1. InnoDB nach einem Absturz oder andere unerwartete Abschaltung erholt sich durch seine Protokolle Wiedergabe.
  2. InnoDB kann in einem Modus ausgeführt werden, in dem es eine geringere Zuverlässigkeit, in einigen Fällen jedoch eine höhere Leistung aufweist.
  3. InnoDB gruppiert automatisch mehrere gleichzeitige Einfügungen und spült sie gleichzeitig auf die Festplatte.
  4. InnoDB löscht das Transaktionsprotokoll nach jeder Transaktion, wodurch die Zuverlässigkeit erheblich verbessert wird.
  5. Im Gegensatz zu InnoDB hat MyISAM integrierte Volltextsuche
  6. MyISAM immer noch weit verbreitet in Web-Anwendungen verwendet wird, wie es traditionell als schneller als InnoDB in Situationen wahrgenommen worden ist, wo die meist DB-Zugriff ist liest.
  7. Beim Schreiben/Aktualisieren von Daten in eine InnoDB-Tabelle ist nur diese bestimmte Zeile gesperrt, während in MyISAM die gesamte Tabelle gesperrt ist.
  8. InnoDB bietet vollständige Transaktionsunterstützung.
5

Wie wäre es mit Transaktionen und gleichzeitige Lese-/Schreibvorgänge? Crash Recovery ist auch besser. Es gibt einige Funktionen, die nur mit MyISAM verfügbar sind, wie Volltextsuche, aber wenn Sie diese nicht benötigen, würde ich mit InnoDB gehen.

3

Jede Aktualisierungsoperation sperrt exklusiv die Tabelle. Und Sie können nicht gleichzeitig mit update aus dieser Tabelle auswählen.

2

Der Schöpfer von InnoDB - Heikki Tuuri, verwenden Sie die folgende E-Mail-Signatur.

InnoDB - Transaktionen, Zeilenebene Locking und Fremdschlüssel für MySQL