La base de données stocke la valeur indexée sous la forme d'un B-Tree
clé, et le pointeur d'enregistrement sous la forme d'un B-Tree
valeur.
Chaque fois que vous recherchez un enregistrement contenant une certaine valeur d'une colonne indexée, le moteur localise la clé contenant cette valeur dans le B-Tree
, récupère le pointeur vers l'enregistrement et récupère l'enregistrement.
Qu'est-ce qu'un "pointeur d'enregistrement", dépend du moteur de stockage.
-
Dans
MyISAM
, le pointeur d'enregistrement est un décalage vers l'enregistrement dans leMYI
fichier. -
Dans
InnoDB
, le pointeur d'enregistrement est la valeur de laPRIMARY KEY
.
Dans InnoDB
, la table elle-même est un B-Tree
avec une PRIMARY KEY
en tant que B-Tree
clé. C'est ce qu'on appelle un "index clusterisé" ou une "table organisée en index". Dans ce cas, tous les autres champs sont stockés sous la forme d'un B-Tree
valeur.
Dans MyISAM
, les enregistrements sont stockés sans ordre particulier. C'est ce qu'on appelle le "stockage de tas".