Actuellement, je lis environ B+ Tree
bases, et est devenu confus concernant l'allocation d'espace pour l'index cluster et non cluster.Où l'index clusterisé et non clusterisé de l'arbre B + sont sauvegardés?
Lorsque nous créons un index clusterisé sur B+ tree
, l'index est stocké dans la mémoire principale et les feuilles contiennent les pointeurs de données vers les blocs réels. Les blocs sont stockés dans des disques et les blocs contiennent un enregistrement.
- En général, l'index ordonné en clusters est créé sur la touche
- primaire Il ne peut y avoir qu'un seul index ordonné en clusters
Supposons maintenant que nous avons une table (id, nom, classe) et j'ai créé deux index non clusterisés sur name
et class
. Mon doute est où sera l'index non clusterisé sera stocké? et comment la recherche sera effectuée pour un query
comme
select id, name, class from table where id = 3, name='Leo' and class='10'
Mon hypothèse:
- Depuis champ id est la clé primaire pour la première utilisation de l'index cluster sera id = 3
- Maintenant, en utilisant l'index non clusterisé sur
name
etclass
, nous trouverons les champs restants
Pensez-vous que mon hypothèse est bonne? Pourriez-vous élaborer davantage sur le stockage de l'index clusterisé? Est-ce que l'index (groupé et non groupé forme un arbre n-aire?). Je ne suis pas capable de visualiser à la fois l'index clusterisé et non clusterisé ensemble.
La meilleure chose que j'ai lu jusqu'à présent :) Je cherchais quelque chose de similaire. Cela clarifie grandement mon doute. – python
Merci pour le compliment. Que voulez-vous dire par "clarifie mon doute"? –
Le commentaire est très utile. – python