2

私はSQLServer2008を使用していて、インデックス付きビューの使用がクエリの一部を高速化するのに役立っていることに気付き始めました...スキーマが基本的ではないためです。

だから、私が次のようなテーブルを持っている場合...

**ParentTable
ParentId INT PK IDENTITY
Name VARCHAR(MAX)

**ChildTable
ChildId INT PK IDENTITY
ParentId INT (FK to the table above)
Name VARCHAR(MAX)
Boundary GEOGRAPHY
CentrePoint GEOGRAPHY
CentrePointFlattened GEOMETRY

したがって、親テーブルの各行には、0から多数の子を含めることができます。

まず、子のインデックス表示を作成した場合、提出されたParentIdがnull許容である可能性がある場合は機能しません。だから私はそれを必須にする必要があります。

さて、質問です。

親テーブルに内部結合された子テーブルのインデックスビューがあります(どちらかのテーブルの一部のフィールドのみにインデックスを付けていることに注意してください)...

(pseduo sql code)
ParentId INT
Name VARCHAR(MAX) AS ParentName
ChildId INT
Name VARCHAR(MAX) as ChildName
Boundary GEOGRAPHY

さて、これらの5つのフィールドのデータは、別の場所にシリアル化/コピーされていますか?または、インデックスビューは、テーブルのデータである一部のインデックスIDのみを作成しますか?

4

1 に答える 1

2

はい。インデックス付きビューは基本的に、基になるテーブルが変更されると自動的に更新される別の非表示のテーブルです。

于 2009-08-28T01:34:40.833 に答える