我正在针对一个postgresql数据库中的表运行查询。数据库位于远程机器上。该表使用了postgresql的分区能力,大约有30个子表。
查询将返回一个庞大的结果集,大约1.8百万行。
在我的代码中,我使用spring jdbc支持的方法JdbcTemplate.query,但我的RowCallbackHandler没有被调用。
我最好的猜测是,postgresql jdbc驱动程序(我使用版本8.3-603.jdbc4)在调用我的代码之前在内存中累积结果。我认为fetchSize配置可以控制此操作,但我尝试过了,没有任何改变。我按照postgresql手册推荐做了这个操作。
当我使用Oracle XE时,这个查询运行得很好。但我正在尝试迁移到postgresql,因为Oracle XE中没有可用的分区功能。
我的环境:
- Postgresql 8.3 - Windows Server 2008 Enterprise 64-bit - JRE 1.6 64-bit - Spring 2.5.6 - Postgresql JDBC Driver 8.3-603
查询将返回一个庞大的结果集,大约1.8百万行。
在我的代码中,我使用spring jdbc支持的方法JdbcTemplate.query,但我的RowCallbackHandler没有被调用。
我最好的猜测是,postgresql jdbc驱动程序(我使用版本8.3-603.jdbc4)在调用我的代码之前在内存中累积结果。我认为fetchSize配置可以控制此操作,但我尝试过了,没有任何改变。我按照postgresql手册推荐做了这个操作。
当我使用Oracle XE时,这个查询运行得很好。但我正在尝试迁移到postgresql,因为Oracle XE中没有可用的分区功能。
我的环境:
- Postgresql 8.3 - Windows Server 2008 Enterprise 64-bit - JRE 1.6 64-bit - Spring 2.5.6 - Postgresql JDBC Driver 8.3-603