2009-08-17 18 views
4

多くの計算メンバーをキューブに追加することによるパフォーマンスの影響があるのだろうかと思います。一方で、MDXをサポートしていないクライアントから一度定義され、一元的にテストされ、使用可能になっていることがうれしいです。一方、私が追加しているメンバーの中には、あまり頻繁に使われないものもあるかもしれないので、それらを必要とするかもしれない1〜2回のレポートでインライン化することができます。SSASの計算されたメンバーのパフォーマンスへの影響

不必要なメンバーがぶら下がっているのを除いて、計算されたメンバーの数はできるだけ少なくする必要がありますか?より多くの立方体処理時間を増やすでしょうか?計算されたメンバーを使用しないクエリが遅くなりますか?

答えて

10

計算されたメンバーは、処理や他のクエリにほとんど影響を与えません。あなたが好きなだけ追加してください!

なぜなら、それらはキューブ上で定義されているに過ぎず、実際には実行時にと評価されているからです。したがって、遅くなったり影響を受けたりする唯一のクエリは、それらを使用するクエリです。この理由のためにネイティブメンバーより少し遅く返すことを期待してください。

非常に頻繁に使用される場合、計算されたメンバーをキューブの実際の部分にするあらゆる機会を探します。また、scopeステートメントを学び、愛してください。 scopeの計算メンバーは実行時に計算されますが、scopeステートメントでは既成の実行計画が提供されるため、処理が高速になる傾向があります。私はしばしばDSVのメンバーを作成し、その後、私の大量計算メンバーのためにscopeを作成します。

+0

すべてのメンバーが事前計算されている立方体の全体のポイントではありませんか? SSASはカスタムメンバーの事前計算に限られた手段を提供しているのはなぜですか?一口... – Jake

+2

@Jake:Not * all *のメンバー。キューブ内のメジャーの組み合わせは、単純な計算の場合は保存する価値がありません。たとえば、「Retail Sales」と「Internet Sales」がキューブ内のメジャーとして使用され、「Total Sales」が必要だった場合、 「トータルセールス」測定値を維持するために、実際のサイズを33%増やしたいとします。「トータルセールス=小売売上+インターネットセールス」の計算された数値を定義する方が効率的です... –

0

いつでも計算をリレーショナルモデルに戻すことができるので、MDXクエリのパフォーマンスが向上します。処理性能に悪影響を及ぼします。

行内のSQLロジックを使用していくつかのメジャーを事前に計算できる場合は、これらをデータ・ソース・ビューのメジャーとして公開します。ストレージエンジンは集約を構築することができ、数式エンジンは処理する作業が少なくなります。あなたは基本的に重いSQLを押し上げている。これは、静的な計算や変換のファクタや単純な算術のようなものについては、実際にはうまくいきます。

また、エンドユーザが使用しない中間計算メンバーを作成することもできますパフォーマンスに影響を与えます。キューブをエンドユーザーの視点からクラッシュさせます。

関連する問題