壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 331|回复: 0

cognos查询临时文件(UDA文件)的分析

[复制链接]
发表于 2012/3/17 09:44:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
前两天论坛里有人提问关于tmp文件夹下uda开头文件的问题。这个可以确定的是Cognos即席查询报表执行时产生的临时文件。这里需要谈一下查询组件的几个属性,处理(Processing)属性,有“默认(default)”“仅数据库(database only)”“仅限本地(limited local)”几个选项,默认情况下查询先转换为Cognos SQL提交给报表服务器,然后将SQL语句转换为应用数据库本地执行的SQL语句,进行数据库处理。若设置为仅数据库则查询所对应的SQL不经报表服务器处理全部转换为数据库能够执行的本地数据库SQL,从而提升报表处理速度,如果将该属性设置为"仅限本地",则将报表页面生成的SQL先进行必要的报表服务器运算,然后再将剩余的部分提交给数据库进行本地SQL的处理,异构数据库的关连展现时cognos采用“仅限本地”进行处理。
查询的“使用本地高速缓存(Use Local Cache)”属性中可以为查询设置是否使用本地缓存。如果将该属性设置为Yes,则启用服务器的本地缓存,服务器将为查询结果保存在session中,当用户在浏览器内再次打开同一张报表时,查询结果将取自缓存,从而减轻了数据库的负载压力;如果将该属性设置为No,则禁用服务器的本地缓存,查询结果全部取自数据库的实时数据。
  前面介绍的两个属性貌似与uda开头的文件有关,但本人经过测试(8.3)发现,不管处理选择数据库还是本地,不管是否启用本地高速缓存,uda文件都会出现,而且有规律。1:分页处理时uda文件会随着向下翻页而不断增加,当往回翻页时,uda文件大小不变。可以推断uda文件缓存了查询展现的结果集。
2:当数据量较小而没有产生分页时则uda文件大小为0
3:当启用高速缓存时关闭报表页面uda文件不会被清空,若禁用高速缓存则关闭报表清空uda文件内容


分析:我们说点击上一页、下一页cognos会用高亲和力连接来处理请求,而上一页和下一页的实现上存在着较大的区别,向下翻页会根据高亲和力请求上下文中包含的游标信息通过滚动游标获取下一页的数据,这样做效率最高。而向上翻页却不可能用游标来实现,因为游标只能向下滚动,而不能向上滚动,所以我认为向上翻页cognos是从uda文件中获取的数据。所以当做数据量较大的即席查询时若有条件可以把tmp文件夹到一个空间较大的高速磁盘上。也会有助于提升报表展现性能。
注意:若启用了高速缓存可能会导致结果集与数据库不同步,建议将其禁用

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 13:03 , Processed in 0.010838 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表