SQL Serverでは、IDのプライマリキーを持つテーブルがあります。しばしば最新のいくつかの新しいレコードが必要なので、主キーを降順でソートしたトップnを取得します。プライマリキーインデックスを降順として定義する必要がありますか、それとも違いはありませんか?つまり、それらが昇順であれば、SQLは効率的に後方に働くことができますか?主キー昇順と降順
主キー昇順と降順
答えて
純粋に問い合わせる観点からあなたはN最新またはN最古のレコードを引っ張るしたい場合、それはあなたのキーが降順または昇順されているかどうか違いはありません:
しかしちょうど約あらゆる通常の状況下で、 はあなたの主キーが昇順と断片化を防ぐためにordinallyシーケンシャルことにしたいです。 SQL Serverは、データベースファイルの最後に新しいレコードを物理的に追加するために最適化されています。新しいレコードを一番上に挿入してすべてを押し込む必要がある場合は、断片化がほぼ100%になる可能性があります。のSQL Serverの内部アルゴリズムは、均等に移動することができますキーが格納されている順序にかかわらず、単一列のインデックス上の両方向で効率的に実行できます。たとえば、単一列の索引にDESCを指定しても、索引にASCが指定されている場合よりも、ORDER BYのIndexKeyCol DESC句を使用した問合せが高速に実行されるわけではありません。 http://msdn.microsoft.com/en-us/library/aa933132(SQL.80).aspx
これは全く違いはありません。
どちらの方法で宣言することが可能なのか想像もできません。
単一の列インデックスでは違いはありませんが、ASCとDESCが有効になります索引に複数の列があり、順序が2番目/ 3番目/ 4番目の/ etc列の場合に重要です。 –
これは私には意味がありません。 2つのフィールド値がある場合、ツリーを下降させる方法は完全に無関心です。それはちょうど推測ですか、またはあなたは参照を持っていますか? – dkretz
私には意味があります。索引が 'A ASC、B DESC'と宣言されていても、ほとんどの照会は' ORDER BY A ASC、B ASC 'でソートを避けます。 –
- 1. 昇順降順降順関数 - ui-grid
- 2. 昇順および降順
- 3. C#Number Triangle昇順と降順2で
- 4. IDが降順S.N昇順で
- 5. 昇順および降順ヒープポート
- 6. 降順で昇順で並べ替え
- 7. SQLクエリの昇順または降順
- 8. Android:データベースリストの昇順と降順の並べ替え
- 9. 配列を作成し、昇順と降順でソートする[MIPS]
- 10. グリッドビューの列を昇順と降順にソート
- 11. 複数の値を昇順と降順で並べ替える
- 12. MYSQLの昇順と降順の並べ替え
- 13. ご注文は昇順と降順の場合
- 14. リンクされたリストを昇順と降順に印刷
- 15. VBリストビューを昇順と降順で並べ替える方法
- 16. jQueryで昇順と降順のHTMLリストを並べ替え
- 17. 主キーが順序
- 18. jquery tablesorter昇順/降順を示すタイトル/ツールヒントを追加
- 19. ASP.NET MVC 3昇順降順オプションを使用したWebGridのカスタムソート
- 20. バブルソート:昇順リストのV/sの降順は
- 21. リストボックスの文字列アイテムを昇順または降順にソート
- 22. 昇順 - 降順 - 可変文字列in html.erb
- 23. TextViewのテキストの昇順、降順、ベースラインを設定します。
- 24. uasort()に昇順/降順オプションを渡しますか?
- 25. 降順ループは昇順ループより効率的ですか?
- 26. 昇順降順の谷のためのpython関数
- 27. 3回目のクリックで昇順/降順の列ソートのリセット
- 28. Array.Sort()とArray.Reverse()を使用して昇順と降順を並べ替える
- 29. 昇順リスト順列
- 30. Linqの結果を昇順で昇順に並べ替えてから降順に並べ替える
いいえ、あなたは** desc **としてそれを作成してはいけません。 [ここに示すように]挿入物から論理的な断片化がたくさん発生する(http://stackoverflow.com/a/9382500/73226) –