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 nelMYI
file. -
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".