リーフページと非リーフページの違いは何ですか?


18

私はいくつかのインデックス使用レポートを実行していますが、LeafNon-leafの定義を取得しようとしています。リーフと非リーフの両方の挿入、更新、削除、ページ結合、ページ割り当てがあるようです。私は本当にそれが何を意味するのか、または一方が他方よりも優れているかどうかを知りません。

誰かがそれぞれの簡単な定義を提供し、リーフまたは非リーフが重要である理由を説明できれば、それはありがたいです!

回答:


21

次のように考えてください。リーフレベルのページは、インデックスのBツリー構造を介したデータ検索の道のりの終わりです。これらには、インデックス定義で定義されたデータ(またはクラスター化インデックスの場合はテーブルのすべてのデータ)と、データ行への行ロケーター(非クラスター化インデックスの場合)が含まれます。

非リーフレベルページには、キー値と、別の非リーフレベルページへのポインター(Bツリーの深さと中間ページの場所に応じて)を含めることにより、リーフレベルページ/データへの「ロードマップ」が含まれます。 )または結果のリーフレベルページ(非クラスター化インデックスのインデックスページ、およびクラスター化インデックスのデータページ)。

編集:これは、アイデアに写真を載せるのに適した画像です。

ここに画像の説明を入力してください


1
(画像をコピーする場合は特に)良い答えは、しかし、あなたはあなたのソースにリンクする必要があります。technet.microsoft.com/en-us/library/...
MikeTeeVee

4
  • leaf =すべての行データデータがあるクラスター化インデックス内。非クラスター化インデックスでは、インデックスを構成する列に加えて、含まれる列とクラスター化インデックスキー(テーブルにクラスター化インデックスがある場合)
  • 非リーフ=内部インデックスノード(インデックスの一部である列データのみを含む)

すべてのインデックスは、単一のルートノード、場合によっては複数の中間内部ツリーノードのレイヤーと単一のリーフノードのレイヤーで構成されます。

クラスター化インデックスでは、リーフノードは事実上テーブルです。非クラスター化インデックスでは、リーフノードには列データ、含まれる列、クラスター化インデックスキーが含まれます。

SQL Serverのインデックスの基本

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.