Mysql
 sql >> Datenbank >  >> RDS >> Mysql

wie die B-Tree-Indizierung in mysql funktioniert

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 in MYI Datei.

  • In InnoDB , ist der Datensatzzeiger der Wert des PRIMARY 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.