<div dir="ltr">小林様<br><br>あきやまです。<br><br>バッチサイズによるs2.log上での違いが見当たらず、<br>今回質問しましたが、単にバッチ更新の仕組みを理解していなかっただけでした。<br>ありがとうございます。<br><br>以上、よろしくお願いします。<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">2015年4月15日 4:07 Koichi Kobayashi <span dir="ltr">&lt;<a href="mailto:koichik@improvement.jp" target="_blank">koichik@improvement.jp</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">小林 (koichik) です。<br>
<br>
バッチ更新のJDBC APIは、addBatch()とexecuteBatch()の<br>
二つで成り立っています。<br>
S2JDBCのbatchSize()は、addBatch()を何回呼び出す毎に<br>
executeBatch()を実行するかを指定します。<br>
すなわち、<br>
<br>
DataSource.getConnection();<br>
PreparedStatement.addBatch(); // 1<br>
PreparedStatement.addBatch(); // 2<br>
PreparedStatement.addBatch(); // 3<br>
...<br>
PreparedStatement.addBatch(); // 1000 (batchSize()で指定した数)<br>
PreparedStatement.executeBatch();<br>
PreparedStatement.addBatch(); // 1<br>
PreparedStatement.addBatch(); // 2<br>
PreparedStatement.addBatch(); // 3<br>
...<br>
PreparedStatement.addBatch(); // 1000 (batchSize()で指定した数)<br>
PreparedStatement.executeBatch();<br>
...<br>
Connection.close()<br>
<br>
となります。<br>
batchSize()ごとにコネクションを取得するわけではありません。<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On Tue, 14 Apr 2015 17:32:41 +0900, あきやまじろう &lt;<a href="mailto:mayama0130@gmail.com">mayama0130@gmail.com</a>&gt; wrote:<br>
<br>
&gt; お世話になっております。あきやまと申します。<br>
&gt;<br>
&gt; S2JDBCのバッチ処理に関して教えてください。<br>
&gt;<br>
&gt; [動作環境]<br>
&gt; ・S2Container 2.4.45<br>
&gt;<br>
&gt; S2Jdbcのバッチ挿入(下記コード)を利用して、10000件のリストを1000件づつ登録しようとしています。<br>
&gt;<br>
&gt; jdbcManager.insertBatch(insertList).batchSize(1000).execute();<br>
&gt;<br>
&gt; 実行後、s2.logを確認した所、以下の内容が出力され、1000件ずつ処理される事を期待していたのですが、<br>
&gt;<br>
&gt; &gt; トランザクションを開始しました。<br>
&gt; &gt; 論理的なコネクションを取得しました。<br>
&gt; &gt; Insert文が1000行<br>
&gt; &gt; 論理的なコネクションを閉じました。<br>
&gt; &gt; 論理的なコネクションを取得しました。<br>
&gt; &gt; Insert文が1000行<br>
&gt; &gt; 論理的なコネクションを閉じました。<br>
&gt; &gt; ・・・<br>
&gt; &gt; 論理的なコネクションを取得しました。<br>
&gt; &gt; Insert文が1000行<br>
&gt; &gt; 論理的なコネクションを閉じました。<br>
&gt; &gt; トランザクションをコミットしました。<br>
&gt;<br>
&gt; 実際には、以下の内容で出力され、10000件のバッチ処理になっているように見えます。<br>
&gt;<br>
&gt; &gt; トランザクションを開始しました。<br>
&gt; &gt; 論理的なコネクションを取得しました。<br>
&gt; &gt; Insert文が10000行<br>
&gt; &gt; 論理的なコネクションを閉じました。<br>
&gt; &gt; トランザクションをコミットしました。<br>
&gt;<br>
&gt; バッチ処理を基本的に理解してないだけなのかもしれませんが、<br>
&gt; 解決方法をご教授頂けますでしょうか。<br>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
{<br>
  name: &quot;Koichi Kobayashi&quot;,<br>
  mail: &quot;<a href="mailto:koichik@improvement.jp">koichik@improvement.jp</a>&quot;,<br>
  blog: &quot;<a href="http://d.hatena.ne.jp/koichik/" target="_blank">http://d.hatena.ne.jp/koichik/</a>&quot;,<br>
  twitter: &quot;@koichik&quot;<br>
}<br>
<br>
_______________________________________________<br>
Seasar-user mailing list<br>
<a href="mailto:Seasar-user@ml.seasar.org">Seasar-user@ml.seasar.org</a><br>
<a href="https://ml.seasar.org/mailman/listinfo/seasar-user" target="_blank">https://ml.seasar.org/mailman/listinfo/seasar-user</a><br>
</font></span></blockquote></div><br></div>