2

ここで Paul S Randal のインデックス断片化ビデオを見ています。ビデオの中で、ポールはこう言いましたGUID or other random values as high-order key will cause page splits which in turn will cause index fragmentation。その理由は、ランダム値は、新しいレコードがランダム ページに挿入されることを意味し、おそらくランダム ページでページ分割が発生するためです。私の質問: 新しいレコードがランダムなページに挿入されていない場合でも、ページ分割が発生する可能性がありますよね? これが本当なら、2 つのケースの違いは何ですか?

ところで、上位キーは意味しprimary keyますか?私は英語を母国語としないので、よくわかりません。

ありがとう。

4

2 に答える 2

3

索引データは、使用されるキーでクラスター化されます。ここで「高次」というのは、インデックスが合成される可能性があり、最初のメンバーがその順序にとって最も重要であるためです。

したがって、このメンバーがランダムである場合 (そして、GUID はランダムであると見なされなければなりません。仮想通貨関係者が GUID のこの用語を好まない場合でも)、連続した値を挿入した場合よりも、値が範囲の終わりではありません。

(クラスター化された主キーに GUID を使用する場合、NEWSEQUENTIALID()代わりに使用すると挿入のパフォーマンスが大幅に向上するのもそのためです)。NEWID()

于 2011-02-11T17:00:43.137 に答える
1

キーが連続している場合、データはすべて最後に追加されます。つまり、必要に応じて新しいページが作成されます。ただし、これにより、大量のシステムでデータがプッシュされる「ホットスポット」が作成されます。これに対する解決策は、ある種の分類フィールド全体にクラスター化されたインデックスを作成し、次にインクリメントする主キーを作成することです。

于 2011-02-11T16:59:21.900 に答える