Die Datenbank speichert den indexierten Wert als B-Tree Schlüssel und der Datensatzzeiger als B-Tree Wert.
Immer wenn Sie nach einem Datensatz suchen, der einen bestimmten Wert einer indizierten Spalte enthält, findet die Engine den Schlüssel, der diesen Wert im B-Tree enthält , ruft den Zeiger auf den Datensatz ab und ruft den Datensatz ab.
Was genau ein "Datensatzzeiger" ist, hängt von der Speicher-Engine ab.
-
In
MyISAM, ist der Datensatzzeiger ein Offset zum Datensatz inMYIDatei. -
In
InnoDB, ist der Datensatzzeiger der Wert desPRIMARY KEY.
In InnoDB , die Tabelle selbst ist ein B-Tree mit einem PRIMARY KEY als B-Tree Schlüssel. Dies wird als "Clustered Index" oder "Index-organisierte Tabelle" bezeichnet. In diesem Fall werden alle anderen Felder als B-Tree gespeichert Wert.
In MyISAM , werden die Aufzeichnungen ohne besondere Anordnung gespeichert. Dies wird als "Heap-Speicher" bezeichnet.