相关疑难解决方法(0)

Java JDBC忽略setFetchSize?

我正在使用以下代码

 st = connection.createStatement(
            ResultSet.CONCUR_READ_ONLY,
            ResultSet.FETCH_FORWARD,
            ResultSet.TYPE_FORWARD_ONLY
             );
 st.setFetchSize(1000);
 System.out.println("start query ");
 rs = st.executeQuery(queryString);
 System.out.println("done query");
Run Code Online (Sandbox Code Playgroud)

查询返回大量(800k)行,并且在打印"开始查询"和"完成查询"之间需要很长时间(~2m).当我在查询中手动设置"限制10000"时,"开始"和"完成"之间没有时间.处理结果需要花费时间,所以我想如果它只是从数据库中获取1k行,处理这些行,并且当它用尽行时它可以在后台获得新行,则总体上更快.

结果集.CONCUR_READ_ONLY等我最后猜测的地方; 我错过了什么吗?

(这是一个postgresql 8.3服务器)

java postgresql jdbc cursor

12
推荐指数
2
解决办法
2万
查看次数

标签 统计

cursor ×1

java ×1

jdbc ×1

postgresql ×1