业务报表速度优化

原创 2006年05月18日 21:30:00

业务报表速度优化

对大数据量的业务报表做速度优化是用户经常提的需求,特别是大型的ERP系统中的报表。下面是我在过程中优化报表生成速度使用几个方法:
1.减少与数据库的交互:减少与数据库的交互是非常有效的优化方法,最好一次性将生成报表的所需要的数据从数据库中读取出来,这样生成报表的速度就要快很多;当然,这样

对客户端的PC配置要求高点(现在PC也便宜),但也比频繁的数据库交互要快;
2.缩小数据读取的范围:对于大数据量的报表一般对会让用户先选择条件,在用户选择的条件中,并不是所有条件的数据都存在,根据真正有发生数据的条件来生成报表这样就缩

小了数据读取的范围;
3.减少生成报表循环中的不必要操作:将循环中公用的操作和数据放在循环开始前(循环外)先做,尽量在循环中写精简的代码,减少冗余代码,你在循环中少写一句冗余代码就

代表生成报表时少执行N次,这样速度自然就高了;
4.根据数据结构制定特殊的报表生成逻辑:对于实在难优化的数据可以抽时间好好分析分析生成报表的数据的数据结构,对特殊的数据结构写特殊的报表生成逻辑;
5.采用汇总表:这是以前大型系统中最常用的一种方法,就是增加一张汇总表来保存发生明细记录的汇总数,生成报表时直接读取汇总表数据,这样就减少了数据量;但这样做要

求发生明细记录时同步更新汇总表,如果汇总表没有更新则会造成明细数据和汇总表不一致,这样当然生成的汇总类的报表数据就不对了。所以采用这个方法也是根据具体需要,

如果采用,最好在软件中提供汇总数据修复的功能;因为并发也会造成不能及时更新汇总表;

说点题外话,公司有个客户,天天反映说我们软件太慢,结果我们去一看,我靠,最好的服务器就是老赛扬 PC133 128内存,下面的客户端机子就更不用说了,再怎么说也是国内

比较大的家电商,也太吝啬了吧!还上ERP,再好软件给这么差的配置用怎么跑得快!哈哈!后来又去,他们信息主管居然满心欢喜的说:“总部给我们批了一台服务器,256内

存,DDR的呢!”我差点憋气过去,现在连家用机都512DDR了,这个“服务器”!好了,就写这些吧!

简单三招,设计复杂ERP报表

报表无疑是ERP系统中用到的最频繁的单据之一。比如每天采购要打印采购明细帐;仓库每天要导出收货或者出货明细;销售每天要打印订单明细等。故报表的设计在ERP系统开发中占据大半江山。...
  • xiaohemaojian
  • xiaohemaojian
  • 2017年03月28日 11:33
  • 591

报表性能优化方案之报表取数

1. 取数原理 设计器拼出最终的SQL,将SQL语句传给数据库,数据库执行,将数据返回给设计器。 由于计算过程首先要通过SQL语句从数据库中取数据,我们可以通过控制数据量的大小和对数据的提...
  • nayun123
  • nayun123
  • 2015年09月21日 10:31
  • 663

简单三招,设计复杂ERP报表

报表无疑是ERP系统中用到的最频繁的单据之一。比如每天采购要打印采购明细帐;仓库每天要导出收货或者出货明细;销售每天要打印订单明细等。故报表的设计在ERP系统开发中占据大半江山。...
  • xiaohemaojian
  • xiaohemaojian
  • 2017年03月28日 11:33
  • 591

优化SQL执行路径提高报表性能

报表出现性能问题需要对数据源计算进行优化时,执行路径难以确定从而被干预是阻碍报表优化的难题之一。由于数据库执行路径对开发人员不透明,报表优化需要指定执行路径时,程序员会很难甚至无法干预。而一般报表工具...
  • u012388497
  • u012388497
  • 2015年01月09日 10:36
  • 927

润乾报表性能优化问题

由于性能的概念比较宽泛,故本文中提到的性能问题只是狭义地指报表各种“慢”的情况。 本文将多种“慢”的情况加以归纳,分析可能出现的原因,提供对应的调优策略。由于本文开篇提到的原因,本文只总结了如下方面...
  • Alice_656
  • Alice_656
  • 2016年11月22日 10:56
  • 1389

存在汇总统计等功能的大数据量报表的优化方案

对于大数据量,多层分组的的汇总报表不能采用分页标签,可以采用如下的优化方案: 一、先初步对报表进行优化: 1、尽量在sql实现group分组,数据库虽然要进行分组运算,但是数据库中有索引,运算速度...
  • chaochao52001
  • chaochao52001
  • 2016年11月27日 14:48
  • 551

报表系统结构优化之中间数据外置

绝大多数报表项目的数据库中,除了支撑系统运行的业务数据表之外,还有很多中间表。业务数据表是报表系统必须的基础数据表,是支持报表系统运行的持久化数据层,例如:销售报表系统中的订单、客户、产品等等。报表中...
  • u012388497
  • u012388497
  • 2015年06月05日 09:24
  • 891

MyReport报表系统v1.2发布

经过多月奋战,MyReport报表系统终于完善,里程碑版本V1.2隆重发布。系统介绍MyReport报表系统是基于MyReport报表引擎构建的报表开发工具平台产品。用户可以快速搭建报表中心,实现报表...
  • hunkcai
  • hunkcai
  • 2015年12月14日 14:30
  • 2149

报表性能优化方案之报表服务器优化基础讲解

JVM堆栈内存是决定应用服务器性能的关键指标,一般服务器默认的内存配置都比较小,在较大型的应用项目中,这点内存是不够的,因此需要进行查看与修改Web服务器内存大小,接下来就介绍服务器内存查看的方法以及...
  • yuanziok
  • yuanziok
  • 2015年09月06日 09:50
  • 719

一次优化web项目的经历记录(三)

一次优化web项目的经历记录这段时间以来的总结与反思 前言:最近很长一段时间没有更新博客了,忙于一堆子项目的开发,严重拖慢了学习与思考的进程。 开水倒满了需要提早放下杯子,晚了就会烫手,这段...
  • zhengxiaoyao0716
  • zhengxiaoyao0716
  • 2016年08月06日 22:06
  • 464
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:业务报表速度优化
举报原因:
原因补充:

(最多只允许输入30个字)