DB2について

DB2DBUtilsについて最近知ったこと。
DB2へとJDBC接続とかして、PreparedStatementなんかでSQLを実行するとき、
置換パラメータに日付型を含んでいる場合は日付をString型でパラメータを渡すと
処理が遅くなることがある。java.sql.Date型で渡すのが一番高速で実行されるみたい。
…多分内部でオブジェクトをnewしてる分だけ遅くなるんでないかな。
もともとjava.sql.Date型であればnewする必要なくそのまま使えるから早いとか。
ライブラリの内部みたわけじゃないんで確証はないですが。
以前作ったDBUtils改良版の大量SQL更新処理で発覚したことで、
1000件ほど一括更新するとさすがにものすごい差がでました。
100倍くらい速度が違うんですけど…。
QueryRunnerのfillStatement中でsetObjectとかしてるのが悪いんだろうか。
どのみち、与えるパラメータも極力DBの型にあわせて渡してあげたほうがいい、ということですね。