インデックス付きビューの MSDN の説明は次のとおりです。
しかし、私は今混乱しています。このフィールドがインデックス付きビューの定義に含まれていなくても、ベーステーブルのフィールドを更新すると、インデックス付きビューが自動維持されますか?
ありがとう!
インデックス付きビューの MSDN の説明は次のとおりです。
しかし、私は今混乱しています。このフィールドがインデックス付きビューの定義に含まれていなくても、ベーステーブルのフィールドを更新すると、インデックス付きビューが自動維持されますか?
ありがとう!
文書化されていませんが、何らかのアクティビティが発生すると考えています。
ドキュメントのさまざまなヒントから、SQL Server は実際には各ベース テーブルにトリガーのようなものを構築していると思います。したがって、「トリガー」は、テーブルのすべての更新/挿入/削除アクションに対して実行されます。
ただし、トリガーは、どの列に実際の更新アクティビティがあったかを確認するようなものを使用しCOLUMNS_UPDATED
、関連する列が影響を受けていない場合は早期に終了すると思います。
たとえば、(はインデックス付きビューで必要です) に送信ANSI_NULLS
した場合、ビューで使用されていない列に対する更新は機能します。ビューで使用されている列に言及している更新は(たとえば のようにノーオペレーションであっても)、エラー メッセージが表示されます。OFF
ON
SET
Column1 = Column1