一括処理JDBC文で処理速度を上げる


JDBCの動作が速くない場合があります。これによって一部のプログラマがデータベース関連の記憶プロセスを使用します。代替案として、Sttementを使ってみてもいいです。 の一括処理特性を確認して、すべてのSQLを同時に実行して速度を上げることができますか? 記憶プロセスの最も簡単な形式は一連のSQL文を含むプロセスであり、これらの語句を一緒に置くと、同じ場所で管理しやすくなり、速度を上げることができる。Sttement クラスは一連のSQL文を含むことができますので、データベースに対する一連の呼び出しを実行するのではなく、同じデータベース事務ですべての文を実行することができます。 一括処理機能の使用は、以下の2つの方法に関連する。 ・ addBatch(String) 方法 ・ executeBatch方法 Sttementを使っているなら addBatch 方法は、通常のSQL文を受け入れることができます。または、PreparedSttementを使用しています。 ,何も増やさなくてもいいです。executeBatch これらのSQL文を実行し、各文の影響を受けるデータの行数を含むint値の配列を返します。SELECT文または他のResultSetに戻るSQL文を一括処理に入れるとSQLExceptionが異常になります。 java.sql.Sttementについて の簡単な例は、 Sttement stmt = conn.createment();stmt.insert("DELETE" FROM Users");stmt.insert("INSERT" INTO Users VALES(「rod」、 37, "circele");stmt.insert("INSERT" INTO Users VALES(「jane」、 33, "triangle");stmt.insert("INSERT" INTO Users VALES(「freddy」、 29, "スクウェア");int[] counts = stmt.executeBatch() PreparedSttement いくつかの違いは一部のSQL文法しか処理できませんが、多くのパラメータがありますので、上記の例の一部を書き換えると次のような結果が得られます。 // ここにはDELETE文がありません。PreparedSttementはありません。 stmt = conn.prepareSttement("INSERT" INTO Users VALES(?????)「User[ ] アメリカ = ...;for(int i=0; i