最近、使用頻度の高いビューでインデックスを作成しましたが、合計実行時間が長くなりました。また、サーバーから送受信されるバイト数が大幅に増加しました。
その中には他のビューの関数や参照はなく、オフコーススキーマバインディングがオンになっています。2つのテーブルから結合するだけです。
パフォーマンスを向上させるために何をすべきか困惑していますか?
最近、使用頻度の高いビューでインデックスを作成しましたが、合計実行時間が長くなりました。また、サーバーから送受信されるバイト数が大幅に増加しました。
その中には他のビューの関数や参照はなく、オフコーススキーマバインディングがオンになっています。2つのテーブルから結合するだけです。
パフォーマンスを向上させるために何をすべきか困惑していますか?
NOEXPAND
インデックス付きビューを使用するには、クエリヒントを使用する必要があります。
ベーステーブルからデータを読み取るのではなく、ビュー自体を読み取ることによってSQL Serverにクエリを確実に処理させる場合は、NOEXPANDを使用します。何らかの理由でSQLServerが、ビューを使用したいときにベーステーブルに対してクエリを処理するクエリプランを選択した場合は、NOEXPANDの使用を検討して ください。http ://msdn.microsoft.com/en-us/library/dd171921 (v = sql.100).aspx
SELECT Column1, Column2, ... FROM Table1, View1 WITH (NOEXPAND) WHERE ...