MyISAM
MyISAM (My Indexed Sequential Access Method) ist eine Storage-Engine des Datenbankverwaltungssystems MySQL. Sie baut, um einige Erweiterungen ergänzt, auf dem älteren ISAM-System auf und war bis MySQL 5.1 Standard-Storage-Engine. Ab Version 5.5 wurde sie durch InnoDB als Standard-Storage-Engine abgelöst.[1]
Eigenschaften
MyISAM zeichnet sich durch hohe Effizienz im Vergleich zu anderen von MySQL unterstützten Tabellentypen aus und unterstützt ab Version 3.23.23 von MySQL eine leistungsfähige Volltextsuche. MyISAM ist daneben für Tabellen empfehlenswert, die deutlich häufiger gelesen werden (SELECT), als in sie geschrieben wird (INSERT/UPDATE). MyISAM unterstützt allerdings im Unterschied zu z. B. InnoDB keine Transaktionen, so dass im Fehlerfall inkonsistente Daten in der Datenbank zurückbleiben können, falls von mehreren zusammengehörigen Queries einige bereits ausgeführt wurden und andere nicht. Auch bietet MyISAM keine referenzielle Integrität.[2]
Für jede MyISAM-Tabelle werden im Dateisystem 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 und 5.1 unterstützen diese Syntax abwärtskompatibel, allerdings wird die Verwendung von ENGINE empfohlen. Seit MySQL 5.5 wird nur noch das Schlüsselwort ENGINE unterstützt.)[3][4]
Die Verwendung von ENGINE ist optional. Ohne Angabe wird der in den Voreinstellungen hinterlegte Tabellentyp verwendet. MySQL nutzt ab Version 5.5 standardmäßig InnoDB.
Einzelnachweise
- ↑ http://www.oracle.com/us/corporate/press/195726
- ↑ siehe z. B. Pachev: Understanding MySQL Internals, Chapter 10: Storage Engines
- ↑ Archivierte Kopie ( vom 29. Januar 2012 im Internet Archive)
- ↑ http://dev.mysql.com/doc/refman/5.5/en/create-table.html
Literatur
- Sasha Pachev: Understanding MySQL Internals, O’Reilly 2007, ISBN 978-0-596-00957-1
Weblinks
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.