ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

HibernateでHQL

koichikさんのご指摘どおり、Queryは初回が遅いっていうことみたいです。100件・100回の時、初回は340[ms]程度かかったのに対し、以降はほとんど時間がかかっていないということが分かりました。トータルとしては420[ms]程度になり、今までの結果(many-to-one: 276.33[ms], many-to-one with fetch="join": 203[ms])と比べると、1.5〜2倍遅いという結果になりました。まあ、複雑な仕組みなのでいたし方ないのかも知れません。
ちなみに、S2DAOiBATISについても同様の実験をしたところ、いずれも少なからず初回のオーバヘッドというのがあるようです。JDBCには初回のオーバヘッドは見られませんでした。これらのオーバヘッドを除外して、再度ベンチマーク結果を取り直す必要がありそうです。