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 leMYIfichier. -
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".