已经投票
高级报表 >> 报表性能优化 >> 层式报表 >> 层式报表原理

层式报表原理

顶( )
最后更新日期: 人发表评论 (点击查看)
层式报表,层式报表的使用防伪,报表性能优化,行式引擎,行式报表引擎
1. 概述
在设计报表模板时,如果用到的数据库某个表有100多万、200多万条甚至上千万时,而这个报表又要求展示出该表的所有记录,如果报表的运算并不复杂,没有跨行分组的运算只是简单的明细数据,就可以采用层式报表的办法按页加载,加快报表的展现速率、缓解报表的内存压力。
2. 原理
在BS下查看某个分页查询报表时,每页的显示条数的上限是确定的,如果这是个有大数据量的报表,我们每次也只能看到一页。
普通情况下,报表服务器会把这个大数据量的报表全部执行完毕后才开始逐页显示,我们需要等待服务器执行完才能查看。
如果使用层式报表,报表服务器一边执行,一边把已经处理完成的报表内容显示出来,我们就可以直接看到执行完毕的部分,不需要等待服务器任务全部执行完,简单地说,就是边执行边查看。
不难理解,使用层式报表可以大大增加展现效率,我们能够更快的开始查看报表内容。
3. 限制条件
层式报表的各个方向都是从性能的角度考虑的,这表明性能是层式报表的核心要素,而功能其次,必须要满足一些条件才能使用,只支持网格式的明细报表且必须是单数据集的而且单元格不支持条件属性的功能。
4. 配置方法
4.1 报表属性设置
选择报表>其他属性,打开如下对话框:
不启用报表引擎属性:是把报表执行完后才会显示。这样需要等待的时间,展现出来很慢。
启用行式引擎来执行报表但不分段执行报表:是边执行边展现,首先计算当前页的报表数据,这时报表尚未执行结束,就已执行出的那部分数据就可以得到并送交给客户端展现。如果想跳转到任意页可能是出不来数据的,因为还没有加载到那个页面。
分段执行报表并设定行数(如30行 ):是在边执行边展现的基础上可以跳转到任意页面,例如跳转到第100页时,这时就会首先执行第100页的数据,从而展示。
4.2 分页sql的编写
oracle数据库的数据库分页是总是生成的,所以不需要单独编写分页sql。
其他数据库的编写分页sql可参考文档分页SQL的使用。
 
 
 
 
   
文明发言,用心评论
 
应用此篇文章,您:
不费力
研究了一会
琢磨了好久
 
查看全部条>>
返回顶部
Copyright©2019 帆软软件有限公司
苏ICP备18065767号-3