5

ビューにクラスター化インデックスまたは非クラスター化インデックスを作成できます。SQL SERVER によると、複数の非クラスター化インデックス (最大 249) を作成できますが、テーブルまたはビューにはクラスター化インデックスが 1 つしか存在しません。なぜなら、レコードは物理的に保存されている場所でソートされており、複数のソート順を持つことはできないからです。ビューはデータベースに物理的に保存されていないので、私の質問です。次に、ビューにクラスター化インデックスを作成し、ベース テーブルに既にクラスター化インデックスが存在する場合はどうでしょう。ビューにクラスター化されたインデックスをどのように実装しましたか? クラスター化インデックスの仕組みとビューでの有用性は?

4

3 に答える 3

0

ビューに一意のクラスター化インデックスを追加すると、それが「マテリアライズ」されます。つまり、「仮想テーブル」は独自のページ構造でディスクに保持され、通常のテーブルと同様に扱うことができます。インデックス付きビューによって定義されたすべての集計が事前に計算され、すべての結合が事前に結合されるようになったため、エンジンは実行時にこの作業を行う必要がなくなりました。SQL Server は、カーディナリティの見積もりを最適化するために、基になるテーブルの統計とは異なる、インデックス付きビューの統計を作成します。

このブログから詳細を読むことができます。

于 2017-12-03T14:37:25.993 に答える