相关疑难解决方法(0)

如何从巨大的表中读取所有行?

处理数据库中的所有行(PostgreSQL)时遇到问题.我得到一个错误:org.postgresql.util.PSQLException: Ran out of memory retrieving query results.我认为我需要读取所有行的小块,但它不起作用 - 它只读取100行(下面的代码).怎么做?

    int i = 0;      
    Statement s = connection.createStatement();
    s.setMaxRows(100); // bacause of: org.postgresql.util.PSQLException: Ran out of memory retrieving query results.
    ResultSet rs = s.executeQuery("select * from " + tabName);      
    for (;;) {
        while (rs.next()) {
            i++;
            // do something...
        }
        if ((s.getMoreResults() == false) && (s.getUpdateCount() == -1)) {
            break;
        }           
    }
Run Code Online (Sandbox Code Playgroud)

java postgresql jdbc

48
推荐指数
3
解决办法
10万
查看次数

使用JDBC迭代大表的最快方法

我正在尝试创建一个java程序来清理和合并表中的行.该表很大,大约500k行,我目前的解决方案运行速度非常慢.我想做的第一件事就是简单地获取一个表示我表中所有行的对象的内存数组.这是我正在做的事情:

  • 一次选择1000行的增量
  • 使用JDBC在以下SQL查询上获取结果集SELECT*FROM TABLE WHERE ID> 0 AND ID <1000
  • 将结果数据添加到内存数组中
  • 继续查询最多500,000,增量为1000,每次添加结果.

这已经很久了.事实上,它甚至没有超过从1000到2000的第二个增量.查询需要永远完成(虽然当我直接通过MySQL浏览器运行相同的东西时它速度相当快).我已经有一段时间了,因为我直接使用了JDBC.有更快的替代方案吗?

java mysql jdbc

21
推荐指数
1
解决办法
4万
查看次数

从数据库中读取 +800 万条记录的内存泄漏

我有一个包含 800 万条记录的数据库,我需要以特定方式处理这些记录,这些记录是用 Java 编写的。在查找了一些东西后,我发现了以下相关帖子:

这是我的代码,它返回存储在我的 MySQL 数据库的标签列中的项目:

public ResultSet getAllTags() {
    String query = "SELECT Tags FROM dataset";
    ResultSet rs = null;

    try {
        connection = ConnectionFactory.getConnection(DATABASE);
        preparedStatement = connection.prepareStatement(query, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
        preparedStatement.setFetchSize(Integer.MIN_VALUE);
        rs = preparedStatement.executeQuery(query);
        // following line is for testing, to see what comes out of the resultset
        System.out.println("output: " + rs.getString(1));
        return rs;
    } catch (Exception ex) {
        ex.printStackTrace();
        return null;
    } finally {
        closeAll();
    } …
Run Code Online (Sandbox Code Playgroud)

java mysql sql memory-leaks

3
推荐指数
1
解决办法
1594
查看次数

标签 统计

java ×3

jdbc ×2

mysql ×2

memory-leaks ×1

postgresql ×1

sql ×1