Benutzer-Werkzeuge

Webseiten-Werkzeuge


db:mysql:mysql_engine

Dies ist eine alte Version des Dokuments!


Die passende storage engine auswählen

Ab MySQL-Version 3.23 kann optional für Tabllen die storage engine InnoDB benutzt werden. Seit MySQL-Version 5.5 wird InnoDB sogar als Standard-Speicherengine voreingestellt.

Je nach Anforderung der Datenbank-Anwendung kann es sinnvol sein, die storage engine der Tabellen auf MyISAM oder auf InnoDB einzustellen.

storage engineMyISAMInnoDB
Referentielle Integrität: nicht möglich möglich
Performance SELECT-Abfrage: schlechter (langsamer) besser (schneller)
Performance INSERT und UPDATE: besser (schneller) schlechter (langsamer)
Integrierte Volltextsuche: Ja Nein
Sperrung für Schreibzugriff nur auf ganze Tabelle auf einzelne Datensätze möglich

Empfehlung: Mit einer referentiellen Integrität kann bereits auf der Datenbank-Seite her sichergestellt werden, dass für jeden Datensatz mit einem Fremdschlüssel auch ein Datensatz mit einem gültigen Primärschlüssel existiert. Somit braucht dieses nicht mehr bei der Programmierung expliziet abgefragt werden und kann somit auch Programmabstürze verhindern. Da im Regelfall ohnehin mehr Lese- als Schreibzugriffe auf eine Datenbank durchgeführt werden ist InnoDB meistens die bessere Wahl.

db/mysql/mysql_engine.1450804187.txt.gz · Zuletzt geändert: 2015/12/22 00:00 (Externe Bearbeitung)