Java JDBC ignores setFetchSize?
2022-09-03 17:34:04
我正在使用以下代码
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");
查询返回大量 (800k) 行,在打印“开始查询”和“完成查询”之间需要花费大量时间(约 2m)。当我在查询中手动输入“限制10000”时,“开始”和“完成”之间没有时间。处理结果需要时间,所以我想如果它只是从数据库中获取1k行,处理这些行,并且当它用完行时,它可以在后台获得新的行,那么它总体上会更快。
ResultsSet.CONCUR_READ_ONLY等,我最后的猜测;我错过了什么吗?
(这是一个postgresql 8.3服务器)