有一种报表结构简单,仅为单一数据源的明细表,但数据量庞大,常达百万甚至上千万条记录,导致取数与计算耗时较长。为提升报表展示速度,使用户查询时无明显延迟感,可借助FineReport报表工具,通过启用行引擎执行层式报表的方式来优化性能。该方法能有效提高大数据量下的处理效率与响应速度。
1、 应对之策
2、 启用行引擎可提升单数据源明细报表的展示速度,优化用户使用体验。
3、 原理
4、 普通报表:先完整提取所有数据,再进行报表处理,最后将整体结果返回至浏览器,用户从访问到查看耗时为取数时间与执行时间之和。
5、 行引擎报表在取数的同时执行报表,用户可实时查看已生成的页面,访问到首屏显示的耗时等于首页数据读取与计算时间之和。
6、 注意事项
7、 行引擎报表以性能为核心,其设计原理决定了每页计算需相互独立,无法支持单元格间存在复杂关联运算。为确保高效运行,FR在实现过程中简化了部分高级功能,避免因跨单元格或跨页计算带来的性能损耗,从而提升整体处理速度与响应效率。
8、 行引擎报表仅支持单一数据源的简单明细表,不支持多源过滤、计算字段及条件属性等复杂功能。
9、 操作流程
10、 以MySQL数据库为例,展示S订单明细数据,采用行式引擎,每页显示30行,具体设置如下。
11、 创建新数据集
12、 从S订单明细表中查询所有数据,形成数据集ds1。
13、 主体模板设计
14、 所示,将表格所有列拖入模板主体区域。
15、 行式引擎配置
16、 进入模板设置,选择报表引擎属性,启用行式引擎执行报表,并勾选按页运算分段处理,每页记录数保持默认30条,具体操作所示。
17、 查看效果
18、 点击分页预览,效果所示。
评论
更多评论