报表性能优化方案之行引擎执行层式报表
1. 问题描述
这样一种报表:报表形式非常简单,只是简单的单数据源明细报表,但是数据量非常大,百万、千万甚至更多。报表取数及计算时间相当长。
希望能够提高报表展示速度,对于用户来说,查询报表不会有滞后的感觉。
解决方案提供工具:报表开发工具FineReport。
2. 解决方案
2.1 解决方案
对于单数据源明细报表,可以启用行引擎来执行报表,提高报表展示速度,优化用户体验。
2.2 原理
普通报表:取出全部数据后再执行报表,最后返回整体的报表结果给浏览器,用户访问到看到结果的时间=报表取数时间+报表执行时间;
行引擎报表:边取数边执行报表,执行到哪页用户就可以看到哪页,用户访问到看到结果的时间=首页数据读取时间+首页计算时间。
2.3 注意事项
行引擎报表注重的是性能,由原理我们可以想象,对于行引擎报表,每页的计算必须是独立的,即报表不能有单元格关联的复杂运算,类似,为了提高行引擎报表的性能,FR舍弃了一些复杂的功能:
行引擎报表只适用于单数据源、即单元格过滤不能使用,且必须是简单明细表,同时也不支持计算、条件属性等复杂报表功能。
3. 实现步骤
我们以mysql数据库为例,将里面的S订单明细的数据用行式引擎显示,每页显示30行,设置如下:
3.1 新建数据集
数据集ds1:SELECT * FROM S订单明细。
3.2 模板主体设计
如下图,将表中的列全部拖曳至模板主体中:
3.3 行式引擎设置
选择模板>报表引擎属性,勾选用行式的引擎来执行报表,再勾选下面的使用按页运算分段执行报表,每页记录数使用默认值30,如下图:
3.4 效果查看
点击分页预览,效果如下:
行式引擎按页取数只适用于Oracle,mysql,hsql和sqlserver2008及以上数据库,其他数据库,如access,sqlserver2005等必须手动编写分页sql,才能实现按页取数,对于需要编写分页sql的数据库,请参考单数据源实现层式报表章节。
行式引擎只适用于单数据源报表,对于多数据集报表,行式引擎无法实现对其进行分页显示,多数据源的层式报表的实现请查看多数据集实现层式报表。
转载于:https://www.cnblogs.com/laoA188/p/4812845.html
报表性能优化方案之行引擎执行层式报表相关推荐
- 报表性能优化方案之多数据集实现层式报表
1. 问题描述 若报表使用的数据量是上百万条的话,觉得报表展现的速度慢,可以使用层式报表来提高报表展现速度.但由层式报表章节可以得知,层式报表必须是单数据集,若是多数据集的模板且数据量又很大,想要提高 ...
- 报表性能优化方案之单数据集分页SQL实现层式报表
1.概述 我们知道,行式引擎按页取数只适用于Oracle,mysql,hsql和sqlserver2008及以上数据库,其他数据库,如access,sqlserver2005,sqlite等必须编写分 ...
- oracle做分页式报表,报表性能优化方案之单数据集分页SQL实现层式报表
1.概述 我们知道,行式引擎按页取数只适用于Oracle,mysql,hsql和sqlserver2008及以上数据库,其他数据库,如access,sqlserver2005,sqlite等必须编写分 ...
- 报表性能优化方案之善用参数注入
1. 问题描述 对于多数据集关联报表,当数据很大时报表的展现速度就会很慢,或通过写sql语句又很复杂.为此FineReport提供一种,既可加快报表的展现速度,又不用编写复杂的sql语句的方案.即使用 ...
- 报表性能优化方案之报表服务器优化基础讲解
内存 JVM堆栈内存是决定应用服务器性能的关键指标,一般服务器默认的内存配置都比较小,在较大型的应用项目中,这点内存是不够的,因此需要进行查看与修改Web服务器内存大小,接下来就介绍服务器内存查看的方 ...
- 报表性能优化方案之多种报表服务器内存修改方法
服务器内存修改 各应用服务器的内存配置方法不尽相同,如下列出了常用服务器的JVM参数(-Xms,-Xmx)配置方法. JVM参数定义: - Xms: 初始化内存大小 - Xmx: 可以使用的最大内存 ...
- react性能优化方案_React灵敏且性能卓越的Spray + Akka解决方案,以“在Java和Node.js中发挥并发性和性能”...
react性能优化方案 在我以前的文章中,我研究了一个虚拟的交易引擎,并将基于Java的阻止解决方案与基于Node.js的非阻止解决方案进行了比较. 在文章的结尾,我写道: 我怀疑随着Node.js的 ...
- 分布式专题-数据库分库分表之Mycat01-数据库性能优化方案
目录导航 前言 为什么要分库分表 数据库性能瓶颈主要原因 数据性能优化方案 SQL 与索引 表与存储引擎 架构 配置 操作系统与硬件 架构演进与分库分表 单应用单数据库 多应用单数据库 多应用独立数据 ...
- Mysql性能优化方案
2019独角兽企业重金招聘Python工程师标准>>> 内容简介:这是一篇关于mysql 性能优化的文章.网上有不少mysql 性能优化方案,不过,mysql的优化同sql serv ...
- mysql 性能优化方案
网 上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果 ...
最新文章
- Retrofit 找不到 GsonConverterFactory
- 报班学python到底怎么样-你们都是怎么学 Python 的?
- java学习笔记9--内部类总结
- mysql lisensce_Linux之lldptool命令
- 深入理解java枚举_深入学习java枚举的应用
- 了解电商优惠券的一生,看完这篇就足够了!
- webRTC实战总结
- arcgis for javascript ArcGISDynamicMapServiceLayer 过滤图层点
- [JSOI2008]Blue Mary的战役地图
- 全面拥抱云原生应用研发的拐点已经到来
- 图片居中裁剪_魔镜,魔镜,谁最美丽!利用PS图层混合模式打造图片幻觉效果
- c语言数据域和指针域,C语言的变量域和指针
- Abaqus单元选择
- Microsoft Navision 4.0帮助您消除日常工作流程中的烦恼的7条途径
- stm32 薄膜键盘原理_stm32F4----薄膜4*4矩阵键盘读取(七)
- 一位 Google 大佬的辞职感言..
- Cutter - Cut Crop Video for Mac(视频剪辑格式转换工具)
- 软件设计师必考精华 - 面相对象
- android酒店点餐系统设计,基于安卓Android酒店点餐系统APP的设计与实现(MySQL)(含录像)...
- 南非最大城市约翰内斯堡被黑客团伙勒索
热门文章
- BZOJ1827[USACO 2010 Mar Gold 1.Great Cow Gathering]——树形DP
- PyQt4 UI设计和调用 使用eric6
- [spoj694spoj705]New Distinct Substrings(后缀数组)
- SVN日常提交工作时需要注意的事项
- C# decimal保留指定的小数位数,不四舍五入
- WPF 弹框 并自动关闭
- Good, then we can start
- ADO.Net(一)——增、删、改、查
- [转载]Ubuntu 14.04设置固定ip
- 代码调试之-单步调试问题