リンゴとオレンジ:分析サービスのOLAPキューブは、SQL Serverデータベースとは根本的に異なるタイプのストレージであり、異なることを行うように設計されています。技術的には、MDXはT-SQLよりも「高速」ではなく、その逆もありません。これらは単なる言語ですが、さまざまなニーズに合わせて設計されています。
そうは言っても、キューブは通常、静的データの数値分析を行うのに最適なものです。たとえば、時間の経過に伴う多数の販売/トランザクション/その他のレコードを集約するなどです。対照的に、従来のリレーショナルデータベースは、スキーマとインデックスが適切に構築されていれば、検索用に通常は問題なく機能します。判断する簡単な方法:SQLクエリが多くのことを行う必要があるかどうか
select grock, sum/min/max/avg( foo )
from bar
group by grock -- Ideal Analysis Services problem
次に、キューブが役立つ場合があります(これは、集計数学関数(sum()およびgroup by)用に設計されています)。クエリが多くのことを行う場合はOTOH
select cols
from foo
where <complicated search> -- Not so much
その場合、キューブはおそらく役に立たないでしょう。代わりに、スキーマ、クエリ、インデックスの調整、およびデータを適切にパーティション化できる場合はテーブルのパーティション化に焦点を当てます。
クラスター化インデックスがあり、クエリに一致する非クラスター化インデックスをカバーしていますか?