SQL Server Analysis Servicesでの大規模な結果セットの処理
-
22-07-2019 - |
質問
記事、構造、および製造業者に関するデータを含むデータベースがあります。記事の意味は、1つのメーカーとNの構造ノードにリンクされています(記事の分類ノードと考えてください)。
現在、多くの条件でT-SQLを使用した記事のクエリは、優れたハードウェアと適切にインデックス付けされたテーブルであっても、eショップで使用するには遅すぎます。 (1秒未満である必要があります)。 ここで、OLAPキューブを介してこのデータにアクセスするのが理にかなっているのかと思います。次のように、集計を取得するために1つを開発しました。ノードYの下にメーカーXの記事がいくつあるか再帰的に?
これらの集計は非常に高速です。今では、キューブを通じて記事全体の結果セットも取得するのが理にかなっているのでしょうか。意味:再帰的にノードYの下に存在するメーカーXのすべての単一記事IDを提供します。結果セットは非常に大きくなる可能性があるため、クエリにはさらに時間がかかります。
それでは私の質問ですが、SSASで大きな結果セットを処理する方法はありますか、それともまったく間違った方向性ですか?
解決
Aggregationsを活用することで、大量のデータを確実に処理し、SSASで適切に実行することができます。もちろん、通信を行っている場合でも、移動するデータはたくさんありますので、注意してください。クエリはすぐに返されます。結果が転送されるまでに時間がかかります。
SSASの真の力をアプローチでターゲットにできるようになっています。 「すべてをくれ」と言う代わりに高レベルで開始し、ドリルダウンして必要なレベルを見つけ、本当に必要なデータに到達するまでドリルダウン、ダウン、ダウンを続けることができます。