Mysql通信链路故障错误

时间:2014-05-13 13:27:17

标签: java mysql eclipse jdbc

我在mysql表中有超过400万条记录,我正在使用java检索它们。最初我的代码工作正常,我能够检索所有记录。但是每次我运行这段代码后,它会在检索500,000条记录后突然给我这个通讯链接失败错误。

  

错误:   通信链路故障

     

从服务器成功收到的最后一个数据包是159毫秒前。成功发送到服务器的最后一个数据包是27,772,719毫秒之前。

    String db="jdbc:mysql://localhost/alltweets";
        Connection conn=DriverManager.getConnection(db, "username", "password");
        System.out.println("connection to database");
        PreparedStatement stat = conn.prepareStatement(
                "SELECT Original FROM Tweets",
                ResultSet.TYPE_FORWARD_ONLY,
                ResultSet.CONCUR_READ_ONLY);
        stat.setFetchSize(Integer.MIN_VALUE);
        ResultSet rs = stat.executeQuery();
    while(rs.next()) {
            Tweet = rs.getString(1);
            // some other functions
    }
    stat.close();
    conn.close();

我对每个结果执行一些预处理和其他功能,并将它们存储在一个新文件中,这需要一些时间。这就是为什么我在mysql设置中做了一些更改并增加了保持活动间隔和读出时间的原因。

连接方法是:std TCP / IP。主机名:127.0.0.1端口:3306

请建议我如何解决这个问题。提前谢谢。

-edited- 我在mysql查询中应用了限制,并尝试在循环中提取结果(提到here)。问题仍然存在。一段时间后它停止了工作。

0 个答案:

没有答案