MySQL verwendet eine Kombination von Dateiorganisationen, abhängig von der verwendeten Speicher -Engine. Es gibt keine einzige universelle Dateiorganisation in allen MySQL -Speichermotoren.
Die am häufigsten verwendeten Speichermotoren und ihre zugehörigen Dateiorganisationen sind:
* InnoDB: Dies ist die Standard -Speicher -Engine in den meisten MySQL -Versionen. Es verwendet einen Cluster -Index, was bedeutet, dass die Primärschlüsselwerte auf der Festplatte physikalisch zusammengeklustert werden. Dies verbessert die Leistung für Abfragen, die den Primärschlüssel verwenden. Die Daten werden in einer Reihe von Dateien gespeichert:System -Tablespace, Datendateien (`.ibd` -Dateien, eine pro Tabelle, es sei denn, Tabellen werden im System -Tablespace platziert) und Rollback -Segmente (für Transaktionen). Es wird nicht direkt herkömmliche Dateiorganisationen wie B-Bäume wie einige ältere Dateisysteme verwendet. Die interne Struktur ist komplex und verwendet B-Tree-Strukturen für die Indexierung und eine doppelt verknüpfte Liste für einen effizienten Zeilenzugriff auf einer Seite.
* myiSam: Ein älterer Motor, größtenteils von InnoDB abgelöst. MyISAM verwendet separate Dateien für Daten und Indizes. Die Daten werden in einer einzelnen Datei gespeichert und jeder Index wird in einer separaten Datei gespeichert. Die Indizes von Myisam basieren in der Regel auf B-Baum. Es ist bekannt für seine schnellere Leseleistung im Vergleich zu InnoDB, aber es fehlt der Transaktionsunterstützung und die Verriegelung auf Reihenebene.
* Speicher (oder Heap): Dieser Motor speichert Tabellen im Speicher. Die Dateiorganisation ist hier weniger relevant, da sich die Daten in RAM befinden und auf der Festplatte nicht direkt anhalten (es sei denn, Sie verwenden ein bestimmtes Setup, um sie auf die Festplatte zu schreiben).
* Archiv: Wird für die Archivierungsdaten verwendet. Es verwendet eine einfache Organisation, die nur angehängt ist, wobei der Overhead minimiert und die Schreibleistung optimiert wird. Es ist nicht für häufige Lesevorgänge ausgelegt.
* csv: Speichert die Daten in einfachen CSV -Dateien (comma -Separated -Werte). Dies ist ein einfaches textbasiertes Format.
Zusammenfassend gibt es keine einzige Antwort auf die Verwendung von MySQL der Dateiorganisation. Die Organisation ist stark von der ausgewählten Speicher -Engine und ihren internen Implementierungsdetails abhängig. Innodb, der Standard ist, verwendet eine komplexe, optimierte interne Struktur, keine einfache, leicht identifizierbare Dateiorganisation.