MDX错误:查询优化器在查询计划中生成了太多的子多维数据集

时间:2010-01-14 14:39:07

标签: sql-server-2008 ssas mdx

我正在尝试使用巨大的mdx查询来询问SQL Server 2008上的多维数据集。

此查询包含20个以上的计算成员(在查询中定义)。

每个成员都包含多维数据集上维度的限制。并不总是需要所有尺寸,但有时需要它。

嗯,直到16名成员才能正常工作。超过16个成员出现消息错误:  “查询优化器在查询计划中生成了太多的子多维数据集”。

有没有办法解决这个错误?

谢谢!

朱丽叶

1 个答案:

答案 0 :(得分:1)

您陷入了性能瓶颈,我认为您的第一步是确定性能瓶颈是在公式引擎还是存储引擎中。要实现此目的,请确定公式引擎和存储引擎在缓存冷却时执行性能较差的MDX查询所需的时间。可以通过将SQL Server Profiler跟踪中的每个Query子立方体事件的已用时间相加来确定存储引擎所花费的时间。公式引擎所花费的时间可以通过从Query End事件的总执行时间中减去存储引擎所花费的时间来确定。

您已经有了一个开始,因为您知道第16个计算成员会导致错误发生,因此您可以从那里向后工作以确定限制子多维数据集事件的内容。

有关此问题的更多详细信息,请参阅此文章: http://74.125.95.132/search?q=cache:XgP38c6S9-UJ:www.badlydressedboy.com/docs/IdentifyingAndResolvingMDXBottlenecksSSAS.doc+query+optimizer+generated+too+many+subcubes+in+the+query+plan&cd=14&hl=en&ct=clnk&gl=us