1 概述
1.1 版本
服务器版本 |
---|
v6.9.0及之后版本 |
1.2 功能简介
模板数据量较大时,采用目前的海量模式,将数据集数据抽取到服务器内存,在内存中筛选和过滤,有内存溢出风险,而且第一次数据展示快,但后面翻页时数据加载比较慢,影响用户体验。
乐创者v6.9.0版本扩充了新计算引擎,主要用于提升模板大数据量场景下明细、过滤、汇总等简单模板的性能,可以明显提升这些模板的展现速度。
2 实现原理
通过对模板的预处理(编译),将一些模板中的设置编译为 SQL 语句,交由 SQL 处理,同时按需取数,一次只取出部分数据,同时后台分页计算。
这是一种可以规避大数据量带来的压力,优先确保首页快速加载展现的一种计算方式。
3 案例执行情况对比
1、环境
系统:windows 10
分配内存:4G
cpu: i7 8核
2、报表案例
行数: 17W+
字段数:92
sql查询时间: 2.5s
报表列数:50
简单SQL
3、三种模式的对比
对比点 | 普通 | 海量-按页取数(旧引擎) | 海量-按需加工(新引擎) |
---|---|---|---|
取数方式 | 数据一次性加载完成显示第一页数据 | 每一页数据都实时从数据库中获取,处理后加载到前端页面 | 一次性取数到缓存中,翻页时从缓存中取数,处理后加载到前端页面 |
报表执行时间 | 33s | 15s | 5s |
翻页执行时间 | 1.6s | 8s | 130ms |
占用内存 | 3.8G 下降到 2.6G(完整报表结构缓存) | 50M(仅当前页数据及报表结构缓存) | 160M(完整数据缓存,报表缓存仅当前页) |
汇总数据 | 执行时机:报表执行时只执行一次 | ||
原理:基于数据结果集计算 | 执行时机:首页执行一次,每次翻页都执行 | ||
原理:基于数据视图统计汇总 | 执行时机:报表执行时只执行一次 | ||
原理:基于缓存数据计算 | |||
字典表 | 报表执行时只执行一次 | 每次翻页都执行 | 报表执行时只执行一次 |
4 功能使用指导
4.1 配置
配置比较简单,打开制作的报表,只需要将报表属性中的“数据模式”配置为“海量”,然后引擎模式选择“按需加工”即可,如下图:
两种引擎模式:
按页取数:分页取数(不适用于复杂SQL),即旧引擎;
按需加工:一次性取数,逐页加工显示(更适用于复杂SQL),即新引擎。
注:“新引擎”模式目前仅支持JDBC和存储过程(“普通”类型)数据视图。
4.2 运行效果
报表使用旧引擎时,数据展示的同时页码就会全部显示出来;而执行使用新引擎的报表,数据量比较大时,页码初始可能显示的不是全部页码,页码会根据获取的数据数量进行动态显示。
数据未加载完时:
数据全部加载完时:
注:数据未加载完成时不支持导出、打印和刷新操作。
5 三种模式功能对比
对比点 | 普通 | 海量-按页取数(旧引擎) | 海量-按需加工(新引擎) |
---|---|---|---|
页码 | 一次性完整显示 | 一次性完整显示 | 动态加载显示 |
支持的数据视图 | 全部查询类数据视图 | JDBC数据、存储过程(分页)、http查询 | JDBC数据、存储过程(普通) |
分组 | 支持 | 页内分组 | 页内分组 |
数据集函数排序 | 支持,是对所有数据进行排序 | 仅支持对当前页数据进行排序 | 仅支持对当前页数据进行排序 |
数据集函数过滤 | 支持,是对所有数据进行过滤 | 仅支持对当前页数据进行过滤 | 仅支持对当前页数据进行过滤 |
聚合 | 导航格内页内汇总,导航格外全部数据汇总 | 导航格内页内汇总,导航格外全部数据汇总 | 导航格内页内汇总,导航格外全部数据汇总 |
悬浮对象 | 支持 | 支持,每页都显示 | 支持,每页都显示 |
分栏 | 支持 | 不支持 | 不支持 |
sheet间运算 | 支持 | 不支持 | 不支持 |
表头表尾 | 表头第一页显示,表尾最后一页显示 | 每页都显示 | 每页都显示 |
导出(后台导出) | 支持,导出全部数据 | 支持,导出全部数据 | 数据未加载完成时不支持(禁用),加载完成后支持导出全部数据 |
导出(插件导出) | 支持,导出全部数据 | 支持,导出当前页数据 | 数据未加载完成时不支持(禁用),加载完成后支持导出当前页数据,但不支持导出txt和csv |
打印 | 支持,打印全部数据 | 支持,打印当前页数据 | 数据未加载完成时不支持(禁用),加载完成后支持打印当前页数据 |
清除缓存 | 关闭、刷新 | 关闭、刷新、翻页 | 关闭、刷新 |
耗时 | 第一次最慢,翻页最快 | 第一次快,每页执行耗时差不多,翻页相对其他模式慢 | 第一次比分页模式慢,翻页快 |
占用内存 | 最大,完整报表结构缓存 | 最小,仅一页报表缓存 | 中,完整数据缓存及一页报表缓存 |
翻页速度 | 快,直接报表缓存提取翻页数据 | 慢,执行数据及报表执行 | 中,缓存提取数据,报表执行 |
新引擎是流式计算的,出现首页数据后,可以在点击翻页查看数据,无需等待所有数据处理完。新旧引擎报表展现速度对比如下图所示:
旧引擎:
新引擎:
6 实例地址
所属应用:智能报表实例
模板地址:应用空间\lczReport\高级教程\企业税额汇总_新引擎.hte
最后编辑:fancy 更新时间:2024-10-31 17:13
