カバリングインデックス重複データはありますか?
-
21-09-2019 - |
質問
私たちは、このインデックス
を持っていると仮定CREATE INDEX IX_test ON t1(c1) INCLUDE (c2)
私たちはインデックスページと実際のデータ・ページの両方にC2を持っていること、これが意味するのでしょうか?本当の問題は - ?更新がSQL ServerがIX_testと実際のデータ行(クラスタ化インデックス)を更新する必要があることを意味c2はない。
解決
はい、ちょうどインデックス内の任意のフィールドを含むようにデータを複製します。そして、フィールドを含むすべてのインデックス(指数)は、フィールドが変更されたときに更新されなければなりません。
ですから、クエリ(または1以上)をカバーするためにインデックスを拡張するとき、あなたは、データを複製しています。それは常にトレードのです。
他のヒント
はクラスタ化インデックスは、テーブルの一部です。それは非クラスタ化インデックスだったならば、答えはイエスだったでしょう。
CLUSTERED キー値の論理的な順序は、テーブル内の対応する行の物理的順序を決定するインデックスを作成します。底部、又は葉、クラスタ化インデックスのレベルは、テーブルの実際のデータ行を含みます。表またはビューは、一度に1つのクラスタ化インデックスを許可されています。詳細については、クラスタ化インデックスの構造を参照してください。
//編集: 私はそれを別の方法ラウンドを理解してきました参照してください。ポイントは、あなたが列を更新する場合は、更新する必要があることでした。 1)クラスタ化インデックス 2)その列を含むすべての非クラスタ化インデックス
質問デシベル何/どのように多くのインデックスを作成するために設計時に常にある - 。それは読み書きの速度を(そして本当に必要なの)との間のバランスの場合ですが、