我们刚刚将一份报告从 Cognos reportnet 迁移到 Cognos 8.4,现在报告太慢了。
该报告只有一个嵌套在列表中的交叉表,其中包含期间/季度/半年/年的汇总
报告设计:
- mainqueryitem(queryitem)通过手动sql获取数据。
- 手动 sql 有 4 个查询依次联合。
- 所有 4 个查询只是从连接的不同表中选择(没有组/排序/过滤器)。
- PlanningLevel (queryitem) 从 mainqueryitem 获取数据。(eg:
if mainqueryitem.name = 'Black' then mainqueryitem.quantity else null
. PlanningLevel的所有DataItems都使用上述格式) - 报告页面由嵌套在列表(分段)内的交叉表组成。
- 该列表与主查询相关联。
- 交叉表与计划级别相关联。
- 交叉表还包含聚合。
- 提示页面包含一个多选列表。
即使对于较小的提示值,报告也很慢。
然后我将 PlanningLevel 查询项的属性“OverrideDimInfo”更改为“否”,从报告网迁移时已经有一些 DimensionInfos(不知道它是什么)
然后,报告运行得更快,没有更少。标准(<1 分钟)。(快 400 倍)但更多的是没有。选项/标准(> 2),报告仍然较慢。(最长 3.5 小时,选择最大的报告-所有标准)
在 toad 中运行最大报告的 mainqueryitem sql 需要不到 5 分钟的时间来执行。最大的报告需要 3.5 小时,在 reportnet 中只需几分钟即可运行。
任何想法如何提高性能?