では聞いてみます。
hibernate関連でコネクションプーリングを使ってるんですけど(c3p0使ってます),
statement cacheを有効にすると、〜〜DEAD LOCK!という警告メッセージが出るので、
statement cacheは0を指定して無効にしてるんですが、
一般的なprepared statementキャッシュの考えとして、
コネクションを再利用し、使ったらプールに戻すという考え方と、
コネクションはプールから取得するが、使ったら破棄してプール内で生成しておくという考え方の2つがあると思ってます。
今回は前者を無効にするのですが、後者のメリットがあまりないように感じられるんです。
プールせずに結局生成するなら直接取っても同じじゃないかと。
一般的な最良のパフォーマンスが得られるコネクションプーリングはどのようにやってるんでしょうか。