我试图从我的表中获取数百万数据,我使用的是javaplayframework2.0,但是有一些问题。当我设置查询的限制时,它工作得很好,如果我请求所有的数据,它就会抛出如下错误

Exception in thread "pool-3-thread-1" java.lang.OutOfMemoryError: Java heap space

有人能帮我吗?

最佳答案

引用手册:
默认情况下,驱动程序一次收集查询的所有结果。对于大型数据集来说,这可能不方便,因此JDBC驱动程序提供了一种基于数据库游标的ResultSet方法,并且只获取少量行
(强调我的)
手册详细描述了如何配置驱动程序,使其不将所有内容加载到内存中:
http://jdbc.postgresql.org/documentation/head/query.html#query-with-cursor

08-18 05:27
查看更多