プログラマとプロマネのあいだ

プログラマもやるし、プロマネもやるし、たまに似非アーキとか営業っぽいこともやる

Hibernateをチューニング

というわけで、昨日言ってたHQLとか試そうと思ったんですが、ビビビっと来まして(汗 delete from hoge where id = ? じゃなくて、delete from hogeって一括で消すやつの性能を測ってみました。例によって結果は↓
http://d.hatena.ne.jp/taka_2/20051002#p1
微妙に件数ごとにブレはありますが、まあ全部消しなので差はないと言ってよいでしょう。しかし相変わらず(といっては失礼かも知れないが)Hibernateが遅いです。まあ、普通の業務システムで全行DELETEなんてやらないけど(やるならtruncateとかそれ相当の機能ですかね)、こういうシンプルな処理だからこそ、オーバヘッドが顕著に現れるのではないかと思います。そういう意味では、iBATIS優秀ですね。ほとんどJDBCと変わらない性能をたたきだしてます。
ちなみに、iBATISのSQLMapClient#deleteって、SQLIDとパラメータの二つを受け取るようになっているのですが、パラメータが無い場合はどうするんかね?と思って適当にnull渡してみたらあっさり動いてしまいました(汗 つか、そういうのJavaDocに書いといて欲しいなぁ。