我们的业务逻辑涉及在单个事务中向 SSAS 发送多个 MDX UPDATE 语句。每个更新语句通常有 600-800 个要更新的单元格。所有这些更新都涉及同一分区内的同一组度量值组。正在使用 MOLAP 分区。
第一个更新语句耗时不到 2 秒,但每个后续更新语句所用时间逐渐增加,第 100 个更新语句耗时长达 41 秒!
(如果我采用最后一个耗时 41 秒的更新语句并运行它一个新事务,则再次花费不到 2 秒)
任何降低此性能的指针?
- 我已经尝试增加 SSAS 属性的总内存限制,但没有任何改进。
- 业务逻辑不允许直接在关系数据库上进行相应的更新,因为用户应该有能力回滚更改。
- UPDATE 语句的数量取决于用户交互,因此我们不能使用任何解决方案来优化多个更新语句的性能,同时降低单个更新的性能。
问问题
106 次