反馈已提交

网络繁忙

新计算引擎简介

  • 文档创建者:Leo.Tsai
  • 历史版本:116
  • 最近更新:Carly 于 2024-09-29
  • 1. 概述

    1.1 版本

    报表服务器版本功能变动
    11.0-
    11.0.2
    • 「计算属性」处新增「优先使用游标分页」功能

    • 新增「固定行数分页」功能

    • 新增「数据行数汇总功能

    • 开启固定行数分页功能后,预览模板可显示总页数

    1.2 应用场景

    模板数据量较大时,预览速度将变慢,影响用户体验。FineReport 11 内置新计算引擎,主要用于提升 cpt 模板大数据量场景下分组明细、过滤、汇总等简单模板的性能,可以明显提升这些模板的展现速度。

    1.3 实现原理

    通过对模板的预处理(编译),将一些模板中的设置编译为 SQL 语句,交由 SQL 处理。

    不会计算全部数据,会按照固定数据量,分批取出从第一页到当前页的数据,同时后台分页计算。(例如当前页为第5页,则取出1~5页的数据)

    这是一种可以规避大数据量带来的压力,优先确保首页快速加载展现的一种计算方式。

    2. 适用范围

    注:只有.cpt普通报表,在分页预览模式下才能使用新计算引擎。

    2.1 支持的功能

    相比行式引擎,新计算引擎新增支持的功能:

    • 支持单元格过滤及汇总求和。

    • 支持条件属性行高列宽,超级链接。

    • 支持自适应。

    • 支持单元格内容提示使用公式。

    • 支持使用多个互相无过滤关系的数据集

    • 新增数据源支持。

    • 支持重复冻结功能(但是对于新引擎模板,结尾冻结与固定行数分页只能二选一,无法同时生效)

    • 支持 水印 功能。

    • 可以实现展开和收起折叠树节点。详情请参见:分页预览专有

    • 符合组织树结构并具有「树节点按钮」的模板,在新引擎下分页预览也可以显示为折叠树。

    注:支持的数据源有 MySQL、ADS、huaweiHive、CUBRID、Apache Derby、Firebird、H2、SQLite、HSQL、MariaDB、PostgreSQL、SAP HANA、Oracle、Teradata、SQL Server、SQL Server2000、SQL Server2008、Access、ASE、Informix、Ingres、Amazon Redshift、Vertica、Apache Phoenix、Apache Kylin、Impala、GBase 8s、Transwarp、DB2、Sybase、Greenplum、FineData

    2.2 暂不支持的功能

    由于后台分页取数计算逻辑限制,新计算引擎暂不支持部分功能:

    • 不支持非 JDBC 数据源。

    • 不支持树数据集、关联数据集、程序数据集、存储过程。新计算引擎下设置折叠树 中虽然使用了树数据集,但树数据集不仅仅用于折叠树,树数据集的其他功能,新引擎是不支持的)

    • 不支持数据列排序,详情可参见:扩展后排序高级排序

    • SQL语句中使用 order by 取数,可能会出现数据集预览与模板预览排序不一致的情况

    • 不支持数据列自定义显示

    • 不支持层次坐标、SQL 公式和“报表函数”类型公式。

    • 条件属性不支持行后分页和控件。

    • 不支持悬浮元素、分栏、sheet 间运算。

    • 不支持分页预览展示图表。

    • 不支持单元格插入子报表,详情可参见:嵌入式主子表

    • 不支持不同数据集间过滤。

    • 不支持移动端使用。

    • 开启新计算引擎后,邮件正文不支持报表内容。

    • 不支持模板后缀参数&__bypagesize__=false,该参数的应用场景见:不分页显示数据

    • 不支持页眉页脚。

    注1:上述不支持的功能使用新引擎时,日志中会有 error 的报错提示 unsupported feature。此时为避免模板预览报错,会自动走老引擎的后台计算(即这些模板不会有性能上的提升)。

    注2:新计算引擎支持了分组,但整体上分组展示的性能要逊色于列表展示,为了更好的性能,如无分组需求,建议将模板首列设置为列表。

    2.3 新旧引擎对比

    旧引擎和新引擎的后台计算逻辑区别如下表所示:

    计算逻辑
    旧引擎新引擎
    数据列( 筛选、过滤、排序等 )

    将数据集数据抽取到服务器内存,在内存中筛选和过滤

    数据量较大时,有内存溢出风险

    将设置编译为 SQL 语句,由数据库执行

    速度较快,数据量越大越明显

    按需计算不支持,只能全量计算所有支持
    公式解析计算性能较慢,不支持动态参数缓存

    通过预编译提前确定单元格关系,避免计算时递归遍历

    支持动态参数缓存

    序列化存储

    模板为单个 XML,资源文件转为字符串存储

    存在大量资源文件时,读取与保存模板会比较慢

    模板为 zip 格式,里面内容为元数据对象,无需将资源文件转为字符串存储

    模板体积较大时,读取与保存不会出现卡顿

    前端渲染支持新前端渲染支持新前端渲染

    新引擎是流式计算的,具有首屏快速展现的功能,可以在首屏出来后进行点击翻页查看数据,无需等待所有数据处理完。新旧引擎报表展现速度对比如下图所示:

    左边为旧引擎,右边为新引擎。

    2.gif

    3. 功能使用指导

    附件列表


    主题: 性能优化
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持