2017-09-18 7 views
0

索引に関する問合せがあります(誤った語句のために)確認できませんでした。索引にINCLUDEを使用する

私は列A、B &を持つテーブルTを持っています。列Aにインデックスを作成すると、列Bが含まれています。これはフィルター/グループクエリに最適です/ AをソートしてBを選択します。

ただし、他の列(例C列を選択)では、列Aの標準索引のように機能しますか?

これについてのご意見はありがとうございます。

ありがとうございました。

答えて

1

あなたの質問は、カバーされたクエリとカバーされていないクエリの違いを指しています。この問題にはかなりの問題があります。私はthisの記事を読むことをお勧めします。クエリの実行計画は、いくつかの条件を考慮して選択されるため、あなたの質問に対する答えはすぐにはありません。

+0

非常に興味深い記事です。しかし、私はまだこのような状況にどういう意味があるのか​​分かりません。 インクルードインデックスのルックアップキーを読んでいない場合、読み込みパフォーマンスはインクルードなしのインデックスと同じですか? – stubs

+1

あなたがそれらを使用しない場合でも、インクルードされた列がインデックスシークを遅くするかどうかを意味しますか?すべてのインデックスはページ単位で構成されているため、クラスタ化されていないインデックスに多くの列を含めると、1ページにキーを少なく入れることができます。つまり、パフォーマンスに悪影響を与えるように、より多くのページを読む必要があります(もちろん、SQLがインデックスを使用することを決定した場合のみ)。 – PacoDePaco

関連する問題