Oracle
 sql >> Base de données >  >> RDS >> Oracle

à quoi ressemble un index B-tree sur plus d'une colonne ?

Avec la plupart des implémentations, la clé est simplement une clé plus longue qui inclut toutes les valeurs de clé, avec un séparateur. Pas de magie là-bas;-)

Dans votre exemple, les valeurs clés pourraient ressembler à quelque chose comme

"123499|John Doe|Conway, NH"
"32144|Bill Gates| Seattle, WA"

Une des caractéristiques de ces index à clés composites est que les nœuds intermédiaires de l'arbre peuvent être utilisés dans certains cas pour "couvrir" la requête.

Par exemple, si la requête consiste à trouver le nom et la ville en fonction de l'ID, puisque l'ID est le premier dans l'index, l'index peut effectuer une recherche efficace. Une fois dans le nœud intermédiaire, il peut "analyser" le nom et la ville, à partir de la clé, et n'a pas besoin d'aller au nœud feuille pour lire la même chose.

Si toutefois la requête voulait également afficher le numéro de téléphone, la logique suivrait la feuille lorsque l'enregistrement complet serait trouvé.