2009-05-18 25 views
6

データベースエンジンチューニングアドバイザは最終的にゴーストをあきらめて、もう私を助けることができないので、インデックスについて少しは学ぶ必要があります(索引ではありませんか?)。ソート順インデックスの降順

私は多かれ少なかれそこにいると思う。複合インデックスを使用するタイミング、インデックスに含めるもの、クラスター化インデックスと非クラスター化インデックスの違いなどを理解しています。インデックスを作成するときは、インデックスへのソート順があります。私はこれが何を意味しているのか理解していますが、私は逆順索引が役立つかもしれないシナリオを考えるのに苦労しています。私の推測では、順番に並んだ最近の行など、順方向ソートされたインデックスの最後に発生する行を取得するクエリを高速化することですが、率直に言って、私は多かれ少なかれ無責任です。

誰でも私を啓発できますか?

+0

[SQL Serverインデックスの昇順または降順の可能な重複は何ですか?](http://stackoverflow.com/questions/743858/sql-server-indexes-ascending-or-descending-what-difference -does-it-make) –

答えて

9

インデックスのソート順は、マルチカラムインデックスの場合にのみ重要です。インデックスがASCのDESCが必要な場合、Sql Severは単一の列の場合、逆順でインデックスを使用できます。

複数列の検索では、インデックスのソートが重要です。これは、このクエリのために有用であろう

field1, field2 desc 

:あなたは上のインデックスを持っていると言う

select field1, field2 from table order by field1 desc, field2 

select field1, field2 from table order by field1, field2 desc 

そしてインデックスが逆に使用することができ、このクエリのための

しかし、このクエリでは、Sql Serverにメモリ内のソートが追加で必要になります。

select field1, field2 from table order by field1, field2 
0

降順で並べ替えるクエリのインデックスを設計するときに降順にインデックスを並べ替えると、インデックスが並べ替えられます。

1

あなたはselect文でによって順序を定義するときに、右のソート順を定義することは、潜在的は、クエリプランでソートステップの必要性を排除することができます。

Msdn article

0

しばしばソート「日付の降順」で、あなたはこのユースケースのために最適化するかのように、最新のデータのバイアスは、あります。

アルファベットではなく数字であることにはもっと意味があると思います。ここで

関連する問題