我有一份Cognos报告,其中我有级联提示 . 层次结构在附加的图像中定义 .
第一个父母(分部)在3-5秒内填充两个级联的孩子 . 但是当我选择任何政策时,(这将填充下面的两个孩子)它花了大约2分钟 .
事实:
-
两分钟后的结果设置正常(~20行)
-
所有提示背后的查询都很简单选择DISTINCT Col_Name
-
我已在所有提示列上创建了索引 .
-
尝试将本地缓存和执行方法打开并发 .
-
我在Cognos Report Studio 10.1上
任何帮助将非常感激 . 谢谢,
新加坡国立大学医院
2 回答
可以替代一次性维度表 . 在框架中为您的AL-No提示创建一个查询主题 . 在查询本身中,构建一个获得不同AL-No的查询(你说这很快,可能是因为AL-No上有一个索引) . 将其包含在对'#prompt('pPolicy')#'进行过滤的选择中(假设您的策略提示符键入?pPolicy?)
这会在将策略发送到数据库之前将其强制转换为sql,但包装在不同的AL-No上将允许您使用AL-No索引 .
你的问题是桌面扫描太多了 . 通常,人们会从基于维度的表构建一个提示页面,而不是事实表,尽管我承认并不总是可以使用级联提示 . 理想的解决方案是使用这些不同的值创建一次性维度表,然后严格模拟提示 .
注意索引每个字段,因为值的选择性不会使用索引 . 可以改为使用字段的复合索引 . 与任何时候更改DDL一样 - 打开SQL事件探查器并查看SQL Cognos生成的内容,然后在更改之前/之后运行解释计划 .