クエリ ログに目を通すと、説明のつかない奇妙なパターンが見つかりました。
実質的にすべてのクエリの後、「DUALから1を選択」しました。
これがどこから来ているのかわかりません。また、クエリを明示的に作成していません。
ログは基本的に次のようになります。
10 Query SELECT some normal query
10 Query select 1 from DUAL
10 Query SELECT some normal query
10 Query select 1 from DUAL
10 Query SELECT some normal query
10 Query select 1 from DUAL
10 Query SELECT some normal query
10 Query select 1 from DUAL
10 Query SELECT some normal query
10 Query select 1 from DUAL
...etc...
以前にこの問題に遭遇した人はいますか?
MySQL バージョン: 5.0.51
ドライバー: JDBC を使用する Java 6 アプリ。mysql-connector-java-5.1.6-bin.jar
接続プール: commons-dbcp 1.2.2
validationQuery は「DUAL から 1 を選択」(明らかに) に設定されており、検証クエリが null 以外の場合、接続プールのデフォルトで testOnBorrow と testOnReturn が true に設定されているようです。
これが私にもたらすもう1つの質問は、実際に検証クエリが必要かどうか、または検証クエリを無効にするか、少なくとも使用頻度を減らすことでパフォーマンスを向上できるかどうかです。残念ながら、私たちの「データベースマネージャー」を書いた開発者はもう私たちと一緒にいないので、彼にそれを正当化するように頼むことはできません. 任意の入力をいただければ幸いです。しばらくの間、API と Google を掘り下げて、価値のあるものが見つかったら報告します。
編集:さらに情報を追加
EDIT2:後でこれを見つけた人のために、正解で求められた情報を追加しました