2

タイムスタンプに降順でクラスター化されたインデックスがあることに気付きました。昇順に切り替えて、増え続ける新しいタイムスタンプが挿入されると、それらがテーブルの最後に追加されるようにすることを考えています。現状では、テーブルの先頭に行を追加する必要があると思われますが、SQL Server がそれをどのように処理するのか疑問に思っています。

テーブルの先頭に新しいページを効率的に割り当て、それらのページに新しい行を効率的に挿入できますか、それともタイムスタンプの順序でページを埋め、最後に昇順のクラスター化インデックスを使用して新しいページを割り当てる方がよいでしょうか。

4

1 に答える 1

1

最初に追加しても最後に追加しても、実際には同じです。

ページがいっぱいになり、ページが分割され、新しいページが割り当てられます...

新しいページは、最初または最後にあるかどうかにかかわらず、連続している場合とそうでない場合があります。これが、ALTER INDEX などを定期的に実行する理由です。

クラスター化インデックスの ASC/DEC の順序は、実際には SELECT/ORDER BY にとってより重要になります...ただし、SQL Server 2005 以降ではこれが少ないことに気付きました。

于 2010-09-04T12:53:26.663 に答える