Connectionのclose。

ちょっとしたシステムの改修をしたのだが、どうも処理が遅い。
修正したSQLを手で実行してみてもほとんど待たずに結果がとれてるし、はて何なのか・・・


あちこちにストップウォッチ的なコードを仕込んで実行時間を確認したら、Connectionのcloseで2秒程度かかっていることがわかった。


closeに2秒?
ロックはかけてないしResultSetもStatementも事前にcloseしてるしコミットもしてるし、はて何なのか・・・


その後あれこれ調べた結果、SQLのテーブル結合の仕方を変えたらほとんど時間がかからなくなった。
ふむ、SQLの実行が遅いのならわかるが、SQLの実行に問題が無くてcloseが遅くなるという現象は初めての経験。


使っているDBはSymfoware。
Symfoware限定の現象なのか?