每次查询都要查询10000+的记录?查询这么多记录有必要否?查询这么多记录,需要一次放入页面显示给用户看么?而且你使用session来传递这么大的数据量,必然会出问题。建议你把查询到的结果集放在bean里,然后页面从bean里面查询取得数据。

解决方案 »

  1.   

    查10000+数据是需要的.我现在已经使用了分页.所以在界面显示的速度很快.关于使用session.也是原来分页所需要的..目前已经改成了使用request来传..然后每次跳页.再查询相应的数据.就目前来说.使用request分页的方法.有一个问题就是我需要一个复杂的欠套语句来实现总合计的查询(因为两个表一个是明细一个是合计)..这样对首次进入该页面时会影响一定的效率.另外我还一点想问一下..就是在WEB中执行一个数据量巨大的查询时..是执行查询时使用内存大..还是用于保存结果的内存大?还有请问一下关于TOMCAT或者说是JVM里内存回收是怎么一回事..能用程序控制吗?还是系统自动控制的?请大家帮帮忙..谢谢 
      

  2.   

    建议用heapanalyzer对你的dump文件进行分析,先定位一下具体的dump位置,
    PS:如果你用了ArrayList来保存大量的查询结果的话,恭喜你,赶快修改吧
      

  3.   

    刚才没看仔细,看来你的确是用了ArrayList,那么几乎可以肯定这就是
    你的问题所在了,建议用临时表或者视图对你的复杂嵌套查询结果,然后在
    ArrayList里面只存储一页的信息,这样能同时减轻两方面的压力