SQL Server(2000およびそれ以上)のプライマリキーが自動的にインデックス登録されているか、プライマリキーにクラスタ化されていないインデックスを持つ選択肢がありますか?プライマリキーは常にクラスタ化されていますか?
15
A
答えて
25
いいえ、クラスタ化することはできません。ただし、明示的にクラスター化されていないと定義されておらず、クラスター化されたインデックスがテーブルにない場合、クラスター化されたものとして作成されます。
10
プライマリキーをクラスタ化できるようにすることはよくありません。特に、プライマリキーがIDENTITYによって割り当てられるとき、それは本質的な意味を持たないので、それに応じてテーブルを整理しておくためのあらゆる努力が浪費される。
表ProductをProductID INT IDENTITY PRIMARY KEYとします。これがクラスタ化されていると、何らかの方法で関連する製品がディスク全体に広がる可能性があります。 ManufacturerIDやCategoryIDのように、我々が照会する可能性の高いものでクラスタリングするほうが良いかもしれません。いずれの場合も、クラスタード・インデックスは(他のものが等しい)対応するクエリーをはるかに効率的にします。
一方、これを指す子テーブルの外部キーがクラスタリングの候補になる可能性があります(私の反対は、親戚ではなくIDENTITY属性を実際に持つ列に対するものです)。上の私の例では、ManufacturerIDがIDENTITYとして設定されているManufacturerテーブルへの外部キーである可能性が高いです。 その列はクラスタ化されるべきではありませんが、それを参照するProductの列は良い利点をもたらすかもしれません。
関連する問題
- 1. プライマリキーは常にSQL Serverでインデックスされますか?
- 2. クラスタ化されたインデックスとクラスタ化されていないインデックスのパフォーマンスの差
- 3. intは常に0に初期化されていますか?
- 4. SQL Serverのプロパティはクラスタ化されています。順序は
- 5. 並列プログラミングはよりグリッド化されているかクラスタ化されていますか?
- 6. 外部キーは常にプライマリキーを参照していますか?
- 7. SQL Server:「クラスタ化された」行を常に読んでいると、クラスタ化された一意でないインデックスがパフォーマンスを向上できますか?
- 8. クラスタ化されていないインデックスにプライマリキー列がどのように含まれているか理解する
- 9. クラスタ化されていないインデックスにはどのような順序が格納されていますか
- 10. クラスタ化されたインデックスからの列を非クラスタ化することに?
- 11. GearVRのWebVRは非常にピクセル化されています
- 12. クラスタ化または非クラスタ化インデックス
- 13. クラスタ化インデックスと非クラスタ化インデックスの違いは何ですか?
- 14. クラスタ化されたインデックス列の非クラスタ化インデックスはパフォーマンスを向上させますか?
- 15. はクラスタ化されたspatstatマークを生成しますか?
- 16. where節はSQL Serverで常に真に最適化されていますか?
- 17. クラスタ化されていないインデックスを追加する
- 18. クラスタ化されたテーブルを結合すると、クラスタ化されていないテーブルよりもコストが高くなりますか?
- 19. テーブルまたはpratitionsの100万レコードのクラスタ化されていないインデックス
- 20. SQL Compact Editionはクラスタ化インデックスをサポートしていますか?
- 21. クラスタ化されていないマーカーのClusterManager onMarkerClickListener
- 22. クラスタ化されていないプライマリキーエンティティフレームワークコード最初
- 23. クラスタ化された構成でHibernateを検索しますか?
- 24. SQL Serverの一意の識別子列にクラスタ化された/非クラスタ化インデックス
- 25. Springキャッシュはクラスタ化できますか?
- 26. 2次元に沿ってデータをグループ化できるクラスタ化されたデータベースはありますか?
- 27. プライマリキーのすべての値がインデックスに登録されていますか?
- 28. クラスタ化されていない一意でないインデックスのSQL ServerインデックスNULL値はありますか?
- 29. SQL Server 2016は常に暗号化されています - 常に表示される暗号化された列を使用した比較と計算式
- 30. クラスタ化インデックスを持つテーブルのレコードは、クラスタリングキーで物理的にソートされていますか?
ほとんどの場合、同一性の存在は、そのIDによってレコードにアクセスすることを意味します。したがって、IDフィールドのクラスタ化された主キーは良い考えです。 –
@ C-F - それはクラスタ化する理由ではありません。そのプライマリキーに基づいてクエリを実行している場合は、そのインデックスが取得します。また、クラスタード・インデックスの行の全幅と比較して相対的に狭いインデックスを取得するために必要なIO数がほぼ確実になるため、おそらく早くなる可能性があります。 –