如果是传置同一个库中的另外一个表,用存储过程来实现可以快很多,何必要把它取出来再传回去呢?数据处理全部在数据库服务器处理不是快很多么?
如果是传置另外的数据库或者另外一台服务器,你应该做个循环每次取n(例如1000)条出来处理,当然可以做个多线程同时取,(不过取第n条到第m条记录,oracle是支持的,其他的数据库我不清楚)而不是向你说的那样,取三个完全相同的ResultSet,那样不管出不出错,都实在是太消耗资源了。

解决方案 »

  1.   

    上面的说的很对,可以先写个SP,把总的操作都放在SP内,然后把结果放到一个临时表内,在用RESULETSET来取结果,若这个时候结果还是很大,可以改用其他的类来获取数据,比如CachedRowSet ,JdbcRowSet等,但在返回给JSP的时候不要再用结果集了,用指针(Iterator),这样可以了
      

  2.   

    不带参数运行的虚拟机最大内存只会用到64M,加上 java -Xmx128M或更高试试看