MDX:组合使用的尺寸会导致缓慢/锁定冲突

时间:2013-10-30 10:50:18

标签: sql-server ssas mdx

我在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 个答案:

答案 0 :(得分:0)

修改 由于问题现已完全修改,我删除了我的第一个答案。

一些想法可能会导致响应缓慢以及如何解决问题:

  • 也许尝试通过将更多层次结构放入同一维度来减少维度数量。这使得AutoExists可以加快运行时间。
  • 如果您可以选择,请将相同维度的所有层次结构放在ROWS中(如果Dimension1Dimension4并非完全不同。
  • 如果对[Dimension1].[Hierarchy1]和/或[Dimension5].[Hierarchy5]的一个成员的限制经常发生,请考虑按此层次结构对度量值组进行分区。
  • 也许正确设计聚合可能有所帮助。

除了这个一般性建议外,很难回答像你这样一般性的问题。如果您涉及任何多对多关系,如果您的计算方法是计算出来的,或者是物理尺度,那么您就不会说明维度的大小,度量组[Measures].[Value]的大小。你的服务器等。