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 中的任何一个,它可以解决问题并快速返回,尽管结果中缺少我的一个维度。这告诉您有关潜在问题的什么信息,我该如何解决?与不在其他维度的维度有关吗?

4

1 回答 1

0

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

只是一些想法可能导致响应缓慢以及如何解决它:

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

除了这个一般性建议之外,很难回答像您这样一般性的问题。你没有说明任何关于你的维度的大小,度量组的大小[Measures].[Value],如果你有任何多对多的关系,如果你的度量是计算的还是物理的,你的服务器的大小等等。

于 2013-10-30T17:16:01.823 回答