gpt4 book ai didi

java - 在 Java PostgreSQL 中使用游标读取有什么缺点吗?

转载 作者:行者123 更新时间:2023-11-29 12:26:00 27 4
gpt4 key购买 nike

我想用 Java 从 PostgreSQL 中读取一个大表的所有行。我正在 Java 软件中逐行处理。

默认情况下,JDBC PostgreSQL 驱动程序将所有行读入内存,这意味着我的程序内存不足。

documentation使用 st.setFetchSize(50); 讨论“基于游标获取结果”;我已经实现了它并且运行良好。

这种方法有什么缺点吗?如果没有,我会为我们所有的查询启用它,无论大小,还是一个坏主意?

最佳答案

好吧,如果您的提取大小为 50,并且您得到了 1000 个结果,这将导致 20 次数据库往返.所以不,盲目启用它而不考虑正在运行的实际查询不是一个好主意。

一个更大的问题是为什么您的 ResultSets 太大以至于内存不足。您是否只加载了将要使用的数据而内存不足,或者是否存在设计不当的查询会返回过多的结果。

关于java - 在 Java PostgreSQL 中使用游标读取有什么缺点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36838643/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com