Gli indici B-tree sono strutture dati ad albero bilanciate in cui i singoli nodi rappresentano delle pagine dati, il bilanciamento e mantenuto dalle operazioni di inserimento e update.
Il numero di entries di un nodo e un valore $m$ nell’intervallo $d-2d$ dove $d$ e detto ordine dell’albero
Il numero di nodi figli e $m+1$ e oscilla nell’intervallo $d+1 - 2d+1$
Algoritmo di ricerca di un b-tree #
L’algoritmo di ricerca, dato un valore della chiave percorre l’albero prendendo in considerazione il figlio $i$-esimo con tale per cui $k_{i-1} In una ricerca in un b-tree il costo e dato dall’altezza dell’albero + l’accesso al data file la root si presume giĆ essere in memoria centrale Di conseguenza e necessario poter computare l’altezza di un b-tree Si ha che il numero massimo di nodi di un b-tree e dato quando tutti i nodi hanno $2d+1$ entry di conseguenza si ha che Di conseguenza il massimo numero di entry e dato da Viceversa il numero minimo di nodi si ha quando tutti escluso la root sono pieni a meta ovvero hanno $d$ entry Di conseguenza il minimo numero di entry e dato da L’altezza dell’albero e di conseguenza inclusa nel range: Un B-tree risulta inefficente nelle ricerche a range in quanto le entry sono contenute anche nei nodi intermedi, per risolvere questo problema si introducono i B+treeCosto di una ricerca in un b-tree
#
Limitazioni di un b-tree
#