Il database memorizza il valore indicizzato come B-Tree chiave e il puntatore del record come B-Tree valore.
Ogni volta che cerchi un record che contiene un certo valore di una colonna indicizzata, il motore individua la chiave che contiene questo valore nel B-Tree , recupera il puntatore al record e recupera il record.
Che cos'è esattamente un "puntatore di record" dipende dal motore di archiviazione.
-
In
MyISAM, il puntatore del record è un offset del record nelMYIfile. -
In
InnoDB, il puntatore del record è il valore dellaPRIMARY KEY.
In InnoDB , la tabella stessa è un B-Tree con una PRIMARY KEY come B-Tree chiave. Questo è ciò che viene chiamato "indice cluster" o "tabella organizzata per indice". In questo caso, tutti gli altri campi vengono memorizzati come B-Tree valore.
In MyISAM , i record vengono archiviati senza alcun ordine speciale. Questo è chiamato "archiviazione dell'heap".