我正在对PostgreSQL数据库中的表运行查询。该数据库位于远程计算机上。该表具有约30个使用postgresql 分区功能的子表。
该查询将返回一个很大的结果集,大约有180万行。
在我的代码中,我使用spring jdbc支持,即方法JdbcTemplate.query,但未调用我的RowCallbackHandler。
我最好的猜测是postgresql jdbc驱动程序(我使用版本8.3-603.jdbc4)在调用代码之前在内存中累积了结果。我以为fetchSize配置可以控制它,但是我尝试了一下,没有任何变化。我这样做是作为postgresql手册推荐的。
当我使用Oracle XE时,此查询工作正常。但是由于分区功能(Oracle XE中不提供该功能),我试图迁移到postgresql。
我的环境: