0

400 万のデータ挿入を実行する jsp Web アプリを作成しました。別のテーブルからのループを使用した挿入プロセスなので、クエリ->ループ->他のテーブルへの挿入を選択しましたが、これを実行するたびに、ページの読み込みが遅くなり、タイムアウトで終了しました。すべてのデータが正常に挿入されたわけではありません

bul data insert を使用しようとしましたが、役に立ちませんでした。

ところで、これはサンプルコードです:

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 アプリでは常にトリッキーだと思います。

非同期の挿入を行う要求ハンドラーでスレッドを開始する場合があります。リクエスト ハンドラはトークンを返すことができます。

次に、このトークンを 2 番目の JSP ページで使用して、スレッドのステータスを定期的にチェックできます。

于 2013-09-06T09:42:17.410 に答える