【发布时间】:2015-10-30 18:33:49
【问题描述】:
我正在以编程方式处理我的 SSAS 多维数据集。我并行处理维度(我自己管理对 .Process() 的并行调用),一旦它们全部完成,我就并行处理度量组分区(再次自己管理并行性)。
据我所知,这是我在 SSMS 中所做的直接复制(相同的流程类型等)。我能看到的唯一区别是我正在并行处理所有维度,并且所有维度之后并行的度量组分区。如果您在 SSMS 中右键单击处理多个对象,它似乎在任何时候都仅并行处理 2(从指示进程未在除 2 之外的所有处理窗口中启动的文本中推断)。但如果有的话,我希望我的代码比 SSMS 更快,而不是更慢。
我已经用“开始”和“结束”调试消息包装了处理操作,一切都符合预期。 .Process() 完成的工作似乎比 SSMS 慢得多。
在通常需要不到 1 小时来处理的 Cube 上,它需要 7.5 小时。 在通常需要不到 3 分钟来处理的立方体上,它需要 6.5 分钟。 据我所知,维度的处理大致相同,但度量值组要慢得多。但是,后者当然要大得多,所以可能只是差异对我来说并不那么明显。
我不知所措,希望能提供任何帮助!我错过了一个设置吗?自己管理并行度并并行处理多个而不是 2 会导致问题吗?
【问题讨论】:
标签: c# parallel-processing ssas ssms