Hibernate劇的改善
http://d.hatena.ne.jp/taka_2/20051002#p1
の続きです。ソースと結果は前回の場所を更新しました。
koichikさんのご指摘通り直してみました。具体的には、
- session.flushを100件置きにする
- 全件検索をやめて、IDのみセットしたオブジェクトをsession.deleteに渡す
の二点です。ついでに、INSERTの方も100件置きのflushにしてみました。
とりあえず、データ件数の二乗に比例して遅くなるという現象は出なくなりましたが、JDBCに比べ2〜2.5倍遅いという結果になりました。この乖離は、
- Hibernateのオーバヘッド
- チューニングの余地
の二つからなると思うのですが、まだ後者がありそうなので、もう少しHibernateを理解する必要がありそうです。