gpt4 book ai didi

java - 如何使用 JDBC 在文本文件中写入大量数据而不耗尽内存

转载 作者:行者123 更新时间:2023-12-02 07:45:10 27 4
gpt4 key购买 nike

我正在尝试使用 JDBC 从数据库创建转储文件。该文件的大小应约为 300 MB,包含 10 列中的 1.2 至 150 万条记录,但我在大约 25 万条时耗尽了内存。

我的问题是java是否将整个记录集存储在内存中?我已将记录集设置为只能向前读取,希望已转储的记录能够从内存中清除,但情况似乎并非如此。

任何帮助将不胜感激。

最佳答案

您应该在 Statement 对象上使用 setFetchSize。以下示例一次仅从 ResultSet 中获取 1000 条记录:

Connection con = DriverManager.getConnection("jdbc:my_subprotocol:my_subname");
Statement stmt = con.createStatement();
stmt.setFetchSize(1000);
ResultSet rs = stmt.executeQuery("SELECT * FROM your_table");

这是 Javadoc:

http://java.sun.com/javase/6/docs/api/java/sql/Statement.html#setFetchSize(int)

关于java - 如何使用 JDBC 在文本文件中写入大量数据而不耗尽内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1327380/

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