質問
私は思ったんだけど。一方で、それは物事が、中心部に位置し、一度定義テスト、およびMDXをサポートしていない任意のクライアントから使用することができていてうれしいです。一方、私は追加しているこれらのメンバーのいくつかは、非常に頻繁に使用されない場合がありますので、私はちょうどそれらを必要とするかもしれない1つのまたは2つのレポートでそれらをインライン化できます。
別にぶらぶら不要な部材を有するの混乱から、私は可能な限り小さく計算されるメンバーの数を維持する必要がありますか?より多くのキューブ処理時間が長くなりますか?彼らは、これらの算出メンバーを使用しないクエリが遅くなるのでしょうか?
解決
計算メンバーは、処理上も他のクエリに影響を与えずに少しを持っています。あなたが好きなだけ追加してください!
その理由は、彼らはただ、キューブで定義されているが、実際に実行時にの評価をしているということです。の。したがって、それらによって減速または影響を受けることになる唯一のクエリは、それらを使用するクエリです。彼らはまた、このような理由のためにネイティブのメンバーよりも少し遅く返すように期待しています。
それは非常に頻繁に使われている場合は、計算メンバーキューブの実際の一部にするためにあらゆる機会を探してください。また、学び、scope
文を愛します。 scope
dだ計算メンバーがまだ実行時に計算されますが、それがより速くなる傾向があるので、scope
文は、それに既製の実行計画を提供します。私は、多くの場合、DSVのメンバーを作成し、私の大容量計算メンバーのためにそれをscope
されます。
他のヒント
いつでもあなたは、リレーショナルモデルに戻って計算をプッシュすることができ、これは、MDXクエリのパフォーマンスが向上します。だけでなく、処理性能に悪影響を与えます。
あなたは、行のSQLロジックを使用して、いくつかの対策を事前に計算することができた場合は、データソースビューの対策として、これらを公開します。ストレージエンジンは、凝集体を構築することができ、そして式エンジンが行うにはあまり仕事を持っています。あなたは基本的にSQLに力仕事を押し下げています。これは、静的な計算と換算係数と、単純な算術などのようなもののために本当によく働くます。
あなたがすることができるもう一つは、隠されたとして、エンドユーザーによって使用されるべきではない任意の中間計算メンバーを作成され、これは、任意のパフォーマンスには影響ありません。しかし、エンドユーザーの視点からキューブを-乱雑に解除されます。