报表管理FineReport报表性能优化(1).pdf

报表管理FineReport报表性能优化(1).pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

报表管理FineReport报表性能优化(1)

1.为何要性能优化

您是否遇到访问一张报表时加载时间很长?或者频繁访问大数据量报表占用了过多的

服务器内存而导致内存溢出?又或者过多的用户并发访问的时候服务器承受压力过大导致

服务器崩溃?

您是否有这样的感想,访问了一张复杂报表,数分钟后再次访问了同样的报表,却发现

还需等待相同的时间才看到结果,这太不人性化!

您是否因为频繁地出现请求超时而恼火?

您是否

若您遇到了以上的种种情况,这说明您的报表系统需要进行性能优化,赶紧行动起来吧,

让您的报表系统运行地更快更顺畅!

2.影响性能的因素

以上种种性能缺陷是如何产生的呢?一般有如下几方面存在性能问题:

2.1报表取数

一般来说,报表越复杂,所涉及到的后台数据库基础表也就越多。除了格式简单的列表

式报表需要在报表中显示超大的数据量外,大部分的报表是从几十万或者几百万的源数据中,

筛选,运算返回几十条或几百条不等的数据结果。如果取数使用的方法不恰当,报表取数时

间就会过长,从而影响性能。

2.2报表制作

报表制作时往往会使用字段的关联、高亮、数据字典、公式计算等等报表内置的功能,

如果这些功能使用的不正确,或者报表存在多余的设置,这样就会因为这些不必要的设置而

增加计算时间,从而影响性能。

2.3服务器性能

FineReport作为纯JAVA软件,可以与J2EE的应用无缝集成,集成至服务器的报表就会

继承服务器的资源。服务器的虚拟内存、连接池的设置等等往往会导致很多性能问题。

3.FineReport如何优化性能

针对影响性能的因素,FineReport有不同的优化方案。如对SQL的优化,使用存储过程

等优化取数过程;减少冗余单元格及不必要的设置从而加快报表计算时间;采用并发设置,

缓存设置,集群等提高服务器性能等等。

言而简之,FineReport性能优化,主要包括两个方面:一、报表性能优化;二、服务器

性能优化。具体优化方法我们将在本章下面进行详细介绍。

4.谁需要进行性能优化

这一部分文档适用于初步掌握了报表设计,且需要对报表的性能做进一步优化的报表设

计者;或者报表开发完毕,在向服务器部署的过程中,需要对服务器进行优化的部署工程师。

报表执行过程

报表的执行过程大体可分为两步:1、报表计算;2、页面转换。

报表计算过程:先读取我们的sql语句,将完整的sql语句传至数据库服务器,由数据

库返回数据给报表服务器,报表服务器进行数据列的扩展、汇总、关联、公式运算等计算,

最终生成报表结果。

页面转换过程:报表计算完成后生成xml页面,需要转换为html页面才能在浏览器中

查看。

针对这一过程FR是可以实时监控的。监控方法是将服务器的log输出级别设为“普通

信息”,就能在控制台上看到每一步使用的时间。

1.设置日志输出级别

修改日志输出级别为“显示普通信息”,如下图设计器中设置:

2.查看报表执行过程

2.1打开模板

打开FR设计器,打开里面自带的模

板:板:

2.2清空日志

点击分页预览前,先清空日志。

3.浏览器端访问报表

点击分页预览,输入参数条件后,点击查询;

等到报表在浏览器上完全展示出来后,查看日志窗口的信息:

从日志中我们可以对报表的执行过程进行实时监控。

优化报表取数

1.取数原理

设计器拼出最终的SQL,将SQL语句传给数据库,数据库执行,将数据返回给设计器。

由于计算过程首先要通过SQL语句从数据库中取数据,我们可以通过控制数据量的大小

和对数据的提前预处理来提高报表的性能。下面是一些优化的方法。

2.优化SQL

FineReport报表的数据集采用的是表模型,也就是说通过SQL这种DSL语言,从数据库

通过简单查询或各种组合关联查询得到一个关系表,而这部分SQL查询根据各种数据库产商

长时间的优化(比如建立索引),已经非常成熟。数据集一般要通过FineReport报表模型的

复杂处理才能生

文档评论(0)

***** + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体社旗县兴中文具店(个体工商户)
IP属地河南
统一社会信用代码/组织机构代码
92411327MAD627N96D

1亿VIP精品文档

相关文档