如何提高对resultset遍历的性能

06-02-20 spg_stone
         

我在开发中遇到一个问题,我的结果集有2113条记录,53个字段,发现使用原来的方法

PreparedStatement pstmt =connection.prepareStatement(query);

java.sql.ResultSet rs = pstmt.executeQuery();

while (rs.next()) {

---------------

}需要5秒钟

使用新的方法

使用Rowset

OracleCachedRowSet ors = new OracleCachedRowSet();

//将ResultSet中的数据封装到RowSet中

ors.populate(rs);

也需要5秒左右

有没有好的办法可以提高结果集的遍历性能,能提高到1秒之内就好了。

         

banq
2006-02-22 10:57

把ResultSet结果转为对象,使用对象缓存,如果对此有疑惑,可直接使用Jdon框架即可。

jackybu
2006-02-24 10:12

希望banq能多讲讲实现思想。

如果要转换对象,不是也要查询出来。然后遍历resultset的结果集,把记录转换成对象么?

到底慢是慢在了哪里呢?

spg_stone
2006-02-26 12:35

我现在使用

PreparedStatement pstmt =connection.prepareStatement(query,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);

pstmt.setFetchSize(100);

感觉快了一点

popconitnue
2006-03-06 15:08

spg_stone 你提出的那个关闭浏览器的问题怎么用javascript触发一个事件打开一个新的jsp?特来请教,敬请回复,谢谢!

2Go 1 2 下一页