0

「ビューのフレームワーク」に基づいた複雑なクエリシステムを作成しています。

このようにして、高レベルのクエリを作成するのは非常に簡単です。

現在、パフォーマンスは悪いですが(ビューを使用しないことで達成できるものと比較して)、インデックス付きビューを使用することは解決策ですか?結合を行う必要があるフィールドに対してのみクラスター化インデックスを作成する場合、解決策はありますか?

4

1 に答える 1

0

「視点の枠組み」

このタスクの初期段階にある場合は、この「ビューのフレームワーク」という考え方をやめることをお勧めします。パフォーマンスを犠牲にして、多くの複雑さをある程度隠していることは事実ですが。また、ネストされたビューがある場合、今後多くの問題が発生します。SQL Server フォーラムにアクセスして、入れ子になったビューのパフォーマンスの問題を探してみてください。

問題の 1 つは、一部の述語が、実際のテーブルの場合とは異なり、正しく効率的にプッシュ ダウンされないことです。

http://blogs.msdn.com/b/bartd/archive/2006/08/14/select-from-a-view-slower-than-equivalent-select-from-the-base-table.aspx

インデックス付きビューはいくつかの問題を効果的に解決しますが、すべての場合ではなく、多くの制限があります。読み書き率が低い場合、パフォーマンスの問題が多くなります。場合によっては、インデックス付きビューを効果的に使用して IO を大幅に削減しましたが (数万の論理 IO を 1 桁の IO に)、読み取りと書き込みの比率が高くなりました。

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

于 2011-04-18T15:36:17.763 に答える