Was sind die Unterschiede zwischen Blattseiten und Nichtblattseiten?

18

Ich habe einige Berichte zur Indexnutzung erstellt und versuche, eine Definition von Leaf und Non-leaf zu erhalten . Es scheint sowohl Leaf-Inserts als auch Non-Leaf-Inserts, Updates, Deletes, Page Merges und Page Allocations zu geben. Ich weiß wirklich nicht, was es bedeutet, oder ob einer besser ist als der andere.

Wenn jemand eine einfache Definition von jedem geben und auch erklären könnte, warum Blatt oder Nicht-Blatt wichtig sind, wäre er dankbar!

Meltdownmonk
quelle

Antworten:

21

Stellen Sie sich das folgendermaßen vor: Blattebenen sind das Ende der Suche nach Daten in der B-Baumstruktur eines Index. Sie enthalten die in der Indexdefinition definierten Daten (oder im Fall eines Clustered-Index alle Daten der Tabelle) und einen Zeilenlokator für die Datenzeile (im Fall eines Nonclustered-Index).

Seiten ohne Blattebene enthalten die "Straßenkarte" zu den Seiten / Daten auf Blattebene, indem der Schlüsselwert sowie ein Zeiger auf eine andere Seite ohne Blattebene eingefügt werden (abhängig von der Tiefe des B-Baums und der Position der Zwischenseite) ) oder die resultierende Blattebene (Indexseite für einen nicht gruppierten Index und Datenseite für einen gruppierten Index).

Bearbeiten: Hier ist ein gutes Bild, um der Idee ein Bild hinzuzufügen.

Bildbeschreibung hier eingeben

Thomas Stringer
quelle
1
Gute Antwort, aber Sie sollten auf Ihre Quellen
verweisen
4
  • leaf = In einem Clustered-Index, in dem sich alle Zeilendaten befinden. In einem nicht gruppierten Index die Spalten, aus denen der Index besteht, sowie alle enthaltenen Spalten und der Schlüssel für den gruppierten Index (wenn die Tabelle einen gruppierten Index enthält)
  • non-leaf = interner Indexknoten (enthält nur die Spaltendaten, die Teil des Index sind)

Jeder Index besteht aus einem einzelnen Wurzelknoten, möglicherweise mehreren Schichten von internen Zwischenbaumknoten und einer einzelnen Schicht von Blattknoten.

In einem Clustered-Index sind die Blattknoten effektiv die Tabelle. In einem nicht gruppierten Index enthalten die Blattknoten Spaltendaten, alle enthaltenen Spalten und die gruppierten Indexschlüssel.

SQL Server-Index-Grundlagen

Mitch Weizen
quelle