Heim

MyISAM

MyISAM (My Indexed Sequential Access Method) ist der Standard-Tabellentyp (Storage-Engine) des Datenbankverwaltungssystems MySQL. Es baut, um einige Erweiterungen ergänzt, auf dem älteren ISAM-System auf.

MyISAM zeichnet sich durch hohe Effizienz im Vergleich zu anderen von MySQL unterstützten Tabellentypen aus und unterstützt seit Version 3.23.23 von MySQL eine leistungsfähige Volltextsuche. MyISAM unterstützt allerdings im Unterschied zu z.B. InnoDB keine Transaktionen oder referenzielle Integrität.

Für jede MyISAM-Tabelle werden drei Dateien angelegt. Die Namen jeder der Dateien bestehen dabei aus dem Namen der Tabelle und einer Dateinamenserweiterung, die den Dateityp kennzeichnet: Für die Tabellendefinition .frm, für die Daten .MYD (MYData) und für den Index .MYI (MyIndex).

Um explizit eine MyISAM-Tabelle zu erstellen, kann in SQL die ENGINE Option vorgegeben werden:

CREATE TABLE t (i INT) ENGINE = MYISAM;

(Anmerkung: Ältere Versionen von MySQL verwenden das Schlüsselwort TYPE statt ENGINE (Beispiel: TYPE = MYISAM). MySQL 5.0 unterstützt diese Syntax abwärtskompatibel, allerdings wird die Verwendung von ENGINE empfohlen.)

Die Verwendung von ENGINE ist optional. Ohne Angabe wird der in den Voreinstellungen hinterlegte Tabellentyp verwendet. MySQL nutzt standardmäßig unter Unix MyISAM und unter Windows InnoDB