java数据库ResultSet的next()执行到一半就卡住

String sql = "select * from Test"; // SQL执行大概花费了30秒

            Connection conn = DriverManage.getConnection(url,user,password);

            PreparedStatement stmt = conn.prepareStatement(sql);

            ResultSet rs = stmt.executeQuery();

            int i=0;

            while (rs.next()) {

                i++;// 执行到大概每 5-6万笔的时候就卡住了,然后过了1分钟又继续往下执行

                System.out.println(i);

            }

数据量太大了,要分页处理;最好放到集合里面再做处理。

建议你改成游标的形式,可能是因为数据量比较大的原因导致的。几万条数据都读到内存中的话,可能是 jvm GC 导致暂停的。可能原因比较多,得看你业务代码怎么写的。

SQL很复杂,关联了多张表

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632