0

我创建了 jsp Web 应用程序来执行 400 万条数据插入。插入过程使用来自另一个表的循环,所以我确实选择查询 - > 循环 - > 插入到另一个表,但每次我运行这个,页面加载缓慢并以超时结束。所以并不是所有的数据都被成功插入

我曾尝试使用 bul 数据插入,但它没有帮助我。

顺便说一句,这是示例代码:

pstatement = connection.prepareStatement(insertquery);
                    pstatement.setString(1, request.getParameter("promo"));
                    while (rset.next()) {
                       pstatement.setString(1, rset.getString(1));
                      pstatement.setString(2, request.getParameter("promo"));
                        pstatement.addBatch();
                   out.print(rset.getString(1) + " Added<br>");
                       if (++countbatch % batchSize == 0) {
                          pstatement.executeBatch();
                       }
                     }
                    pstatement.executeBatch();

另一个尝试使用选择技巧,它也没有帮助

String insertquery = "INSERT INTO datapin (msisdn,nama_promo)  SELECT  msisdnlist.msisdn AS msisdn, ? AS nama_promo  FROM msisdnlist ";
                    pstatement = connection.prepareStatement(insertquery);
                    pstatement.setString(1, request.getParameter("promo"));
pstatement.executeQuery();

有人有更好的主意吗??谢谢 :)

4

1 回答 1

0

jsp页面是否需要等待4M插入完成?我认为在 Web 应用程序中等待长时间的操作总是很棘手。

您可能会在请求处理程序中启动一个线程,该线程将异步执行插入。请求处理程序可以返回一个令牌。

然后这个令牌可以被第二个 JSP 页面用来定期检查线程的状态。

于 2013-09-06T09:42:17.410 回答