Quali sono le differenze tra le pagine foglia e non foglia?


18

Ho eseguito alcuni rapporti sull'utilizzo dell'indice e sto cercando di ottenere una definizione di foglia e non foglia . Sembrano esserci sia inserti fogliari che non foglia, aggiornamenti, eliminazioni, fusioni di pagine e allocazioni di pagine. Non so davvero cosa significhi o se uno sia migliore dell'altro.

Se qualcuno potesse dare una semplice definizione di ciascuno e spiegare anche perché le foglie o le non foglie contano, sarebbe apprezzato!

Risposte:


21

Pensaci in questo modo: le pagine a livello di foglia sono la fine della strada per la ricerca dei dati attraverso la struttura B-tree di un indice. Contengono i dati definiti nella definizione dell'indice (o nel caso di un indice cluster, tutti i dati della tabella) e un localizzatore di riga nella riga di dati (nel caso di un indice non cluster).

Le pagine di livello non foglia contengono la "road map" per le pagine / i dati di livello foglia includendo il valore chiave e un puntatore a un'altra pagina di livello non foglia (a seconda della profondità dell'albero B e della posizione della pagina intermedia ) o la pagina a livello foglia risultante (pagina indice per un indice non cluster e pagina dati per un indice cluster).

Modifica: ecco una buona immagine per mettere un'immagine all'idea.

inserisci qui la descrizione dell'immagine


1
Buona risposta, ma dovresti collegarti alle tue fonti (specialmente quando copi le immagini): technet.microsoft.com/en-us/library/…
MikeTeeVee

4
  • leaf = In un indice cluster, dove si trovano tutti i dati dei dati di riga. In un indice non cluster, le colonne che compongono l'indice, più eventuali colonne incluse e la chiave dell'indice cluster (se la tabella ha un indice cluster)
  • non-leaf = nodo indice interno (contiene solo i dati di colonna che fanno parte dell'indice)

Ogni indice è composto da un singolo nodo radice, possibilmente diversi strati di nodi interni intermedi e un singolo strato di nodi foglia.

In un indice cluster, i nodi foglia sono effettivamente la tabella. In un indice non cluster, i nodi foglia contengono dati di colonna, eventuali colonne incluse e le chiavi di indice cluster.

Nozioni di base sull'indice di SQL Server

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.