Non-Clustered-Datei in Datendateien gespeichert, Clustered-Index speichert Daten in logischer Reihenfolge.MySQL: wo gruppiert (logische Indizes) speichern
Wo liegt die logische Reihenfolge?
Non-Clustered-Datei in Datendateien gespeichert, Clustered-Index speichert Daten in logischer Reihenfolge.MySQL: wo gruppiert (logische Indizes) speichern
Wo liegt die logische Reihenfolge?
Die meisten MySQL-Indizes sind als BTrees strukturiert. (Siehe Wikipedia)
(ich ohne FULLTEXT
und SPATIAL
Indizes aus dieser Diskussion.)
InnoDB des PRIMARY KEY
ist ein BTree und "geclustert" mit den Daten. Das heißt, die Daten werden in der Reihenfolge PK im BTree gespeichert.
InnoDB "Sekundärschlüssel" und alle MyISAM-Indizes werden in separaten BTree-Strukturen gespeichert.
Im Blattknoten eines MyISAM-Index ist ein Offset in die Datendatei, wo die gesamte Zeile gespeichert ist. Im Blattknoten eines InnoDB-Sekundärindex befindet sich eine Kopie der PRIMARY KEY
-Spalte (n).
Alle Indizes werden "aufsteigend" in numerischer (wenn eine numerische Spalte) oder Kollation (wenn eine Zeichenfolge) sortiert.
(Ich weiß nicht, was Sie mit "logisch" meinen, aber vielleicht habe ich es beantwortet.)