1

非常に遅い SSAS での MDX クエリに問題があります。

SELECT 
NON EMPTY
(
    [Measures].[Value]
) ON COLUMNS,
NON EMPTY
(
    [Dimension1].[Hierarchy1].[Level1].[Member1],
    [Dimension2].[Hierarchy2].[Level2],
    [Dimension3].[Hierarchy3].[Level3],
    [Dimension4].[Hierarchy4].[Level4]
) ON ROWS
FROM [RePro]
WHERE
(
    [Dimension5].[Hierarchy5].[Level5].[Member5]
)

これにより、「ロックの競合」が発生し、非常に遅くなります。ただし、Dimension2、Dimension3、または Dimension4 のいずれかをコメントアウトすると、問題が解決され、ディメンションの 1 つが結果から欠落しているにもかかわらず、すぐに返されます。これは、根本的な問題について何を教えてくれますか? また、どうすればそれを修正できますか? 次元が他の次元にないことと関係がありますか?

4

1 に答える 1

0

EDIT 質問が完全に改訂されたため、最初の回答を削除しました。

応答が遅くなる原因と、それを修正する方法をいくつか考えてみます。

  • 同じディメンションにより多くの階層を配置して、ディメンションの数を減らしてみてください。これにより AutoExists が有効になり、実行時間が短縮されます。
  • 選択できる場合は、同じディメンションのすべての階層を ROWS にまとめます ( Dimension1toDimension4がすべて異なる場合)。
  • [Dimension1].[Hierarchy1]and/orの 1 つのメンバーへの制限[Dimension5].[Hierarchy5]が頻繁に発生する場合は、この階層でメジャー グループを分割することを検討してください。
  • 集計を適切に設計すると役立つ場合があります。

この一般的なアドバイスは別として、あなたのような一般的な質問に答えることは非常に困難です。ディメンションのサイズ、 のメジャー グループのサイズ、[Measures].[Value]多対多のリレーションシップがある場合、メジャーが計算または物理的なメジャーである場合、サーバーのサイズなどについては何も述べていません。

于 2013-10-30T17:16:01.823 に答える