web-dev-qa-db-ja.com

ビューはスキーマにバインドされていませんか?

テーブルからデータを取得するための選択クエリがあります。正常に動作していますが、3つの値を選択する条件がある場合、結果は得られません。エラーメッセージ;

Query processor ran out of Internal resources

INDEXを調べたところ、正常に機能しているようで、そのselectステートメントを使用してビューを作成しましたが、インデックスを作成できませんでした。エラーメッセージ;

View is not schema bound

15
Manoj

インデックス付きビューを作成するには、ビューがビューであるエンティティにスキーマバインドする必要があります。

ビュースキーマをバインドするには、単にWITH SCHEMABINDINGビュー内CREATE/UPDATEクエリ、たとえば:

CREATE VIEW MyView
WITH SCHEMABINDING 
AS
-- SELECT

スキーマバインディングの詳細については このリンク 、または CREATE VIEW ステートメントのMSDNページを参照してください。

しかし、あなたが言ったことから、インデックス付きビューが必ずしも役立つとは思いません-「クエリプロセッサが内部リソースを使い果たしました」というメッセージは、クエリプロセッサがクエリの実行プランを生成できなかったことを意味します。非常に複雑なクエリで発生します。

どういうわけか、クエリの複雑さを軽減する必要があります。

29
Justin

基になるテーブルではなくビューにインデックスを作成しようとしていると思います。ビューにインデックスを付ける必要がある場合は、次の条件を満たす必要があります。

http://technet.Microsoft.com/en-us/library/cc917715.aspx

6
JasonHorner