大数据量,比如上万条记录甚至几十万条数据的报表(PDF形式) 或者 经过分组求和和一定的条件过滤得到的汇总数据报表(Web形式),会造成等待时间过长,甚至CPU占用超级高的现象。
因为刚工作还不太满一年,经验不多尤其是对大数据量的经验更是不足,是否大家可指点?
目前我的做法是:通过一个sql取得放到一个Map或者DynaBean中,然后在界面显示,数据量在不到1w条记录的时候,web响应都需要2分钟左右的时间。
说到这里,我想介绍一下我的环境很是必要:单机(双CPU)单数据库(Firebird),应用程序和数据库都在同一台电脑上,系统开发采用的技术是Spring和Jdbc。
最近一直在寻找改进的方法,想到的调试sql语句本身的性能,比如采用p6spy进行监控,通过建立索引等调优;
另外也想到使用cache,但又对cache疑虑重重,比如cache的数据和database能否一致,从而让我的报表或者计算无误,外加没有cache的使用经验,不知道该注意的事项和如何着手。从长远看,如果cache用的比较糟糕,比如这也cache那也cache没有一个体系的规则,反而会影响了系统的维护性,给后期的开发以及他人造成严重的伤害。
其实,我说的数据量对很多人来说并不算很大,可是大家是怎么处理的呢?
当然,分页不是我要的功能,也对我的计算没有什么帮助,可以不讨论分页问题。
先谢谢大家
因为刚工作还不太满一年,经验不多尤其是对大数据量的经验更是不足,是否大家可指点?
目前我的做法是:通过一个sql取得放到一个Map或者DynaBean中,然后在界面显示,数据量在不到1w条记录的时候,web响应都需要2分钟左右的时间。
说到这里,我想介绍一下我的环境很是必要:单机(双CPU)单数据库(Firebird),应用程序和数据库都在同一台电脑上,系统开发采用的技术是Spring和Jdbc。
最近一直在寻找改进的方法,想到的调试sql语句本身的性能,比如采用p6spy进行监控,通过建立索引等调优;
另外也想到使用cache,但又对cache疑虑重重,比如cache的数据和database能否一致,从而让我的报表或者计算无误,外加没有cache的使用经验,不知道该注意的事项和如何着手。从长远看,如果cache用的比较糟糕,比如这也cache那也cache没有一个体系的规则,反而会影响了系统的维护性,给后期的开发以及他人造成严重的伤害。
其实,我说的数据量对很多人来说并不算很大,可是大家是怎么处理的呢?
当然,分页不是我要的功能,也对我的计算没有什么帮助,可以不讨论分页问题。
先谢谢大家