JDBC
JDBC
Java2 SE 5.0 API
Java2 SE 1.4 API
Java2 EE API
Struts 1.0.2
MSDN2 Library
MySQL 5.1
MySQL 4.1
HTMLリファレンス
CSSリファレンス
JavaScript
基本カラーチャート
カレンダー
 最新PG・講座情報
 最新ニュース
 電子辞書・辞典
ご意見・ご要望はこちらまで

連載

JDBC

バッチ更新


1.バッチ更新

 バッチ更新とは、複数の更新クエリであるINSERT文、UPDATE文、DELETE文を1つにまとめてデータベースに転送して、一括更新する機能です。
 これらの更新クエリを発行するには executeUpdateメソッドを利用しますが、このメソッドでは1度には複数のSQL文は記述できません。 よって複数回の executeUpdateメソッドを続けて発行しなければなりません。
 この場合、ネットワークには大量のトラフィックが生じてしまい、効率が悪くなってしまいます。通信量を減らすために1回の送信で更新できるようにしたものがバッチ更新です。

ネットワークの流れ
 

2.バッチ更新の流れ

 まず addBatchメソッドで更新するSQL文を複数登録します。
 次に executeBatchメソッドを呼び出し、登録したSQL文を一括で実行します。 executeBatchメソッドの戻り値は各SQL文が実行時に得た更新件数を配列に返します。

3.バッチ更新の例

 データベースの接続後のバッチ更新の例を下記に示します。

 
Statement stmt = conn.createStatement();
stmt.addBatch(
 "INSERT INTO DB0201 (ID, name, score1, score2)"
       +"VALUES (10, 'hayashi', 100, 90)");
stmt.addBatch(
 "INSERT INTO DB0201 (ID, name, score1, score2)"
       +"VALUES (11, 'kobayashi', 90, 80)");
stmt.addBatch(
 "INSERT INTO DB0201 (ID, name, score1, score2)"
       +"VALUES (12, 'obayashi', 90, 100)");
int[] updateCnt = stmt.executeBatch();
 バッチ更新の例
 

Top
Copyright© 2003-2007 FumikiChan All Rights Reserved.
http://www.fumikichan.net/