InnoDB: Was kann die MySQL-Speicher-Engine im Vergleich zu MyISAM?


Jede InnoDB-Tabelle ordnet die Daten auf dem Datenträger an. Dadurch ist der Zugriff etwas langsamer, aber deutlich sicherer, da jede Tabelle mit einem Primärschlüssel optimiert ist. Die Datenauswahl ist dabei verhältnismäßig schneller, das Einfügen und Aktualisieren aber eben langsamer. Deshalb eignet sich InnoDB als MySQL Speicher-Engine vor allem für große Datenbanken und insbesondere dann, wenn viele Daten miteinander verknüpft sind.

Wie bereits erwähnt, hängen die Daten einer Transaktion bei InnoDB zusammen. Wenn Daten gelöscht werden, löscht InnoDB alle referenzierten Daten automatisch mit. Das macht es für den Anwender wesentlich einfacher, die referentielle Integrität der Datenbank einzuhalten. Diese referentielle Integrität muss allerdings im Vorfeld festgelegt werden, sonst wird sie nicht automatisch eingehalten. Genauso lassen sich beispielsweise auch Schreibzugriffe auf Datensätze sperren.

Die Tabellenstruktur von InnoDB wird in frm-Dateien, Nutzdaten und Indizes in einem Tabellenraum gespeichert, der mit der Datenbank verbunden ist und sich über eine bis mehrere Dateien erstrecken kann. Auch hier greift die referentielle Integrität: Die Konfiguration des Tabellenraums kann sich auf verschiedene Verzeichnisse verteilen, dies muss aber zu Beginn der Arbeit eingestellt werden und lässt sich nicht nachträglich anpassen. Man muss sich die Arbeit mit einer InnoDB-Tabelle wie das Arbeiten mit einer Festplattenpartition vorstellen, wo nachträgliche Anpassungen zu einem Datenverlust führen können.



Source link

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.