[seasar-dotnet:765] Re: S2DAO.NET:Oracle10g への外だし SQL の実行が遅いように見える
小林貴生
[E-MAIL ADDRESS DELETED]
2008年 2月 6日 (水) 13:06:10 JST
質問させた頂いた小林です。
> 久保です。
> 「2秒掛かっている部分がどの実行部分かどうか」
> DBFluteをお使いであればDBFluteの独自のS2DaoInterceptorが
> わかりやすいログを出してくれるはずです。
> log4netの設定でそちら有効にしてみてください。
設定を行ってみまして、ログを取得しました。
抜粋すると以下の部分です。
2008-02-06 12:00:05,859 [1] Hoge.Fugo.Core.dbflute.allcommon.s2dao.S2DaoInterceptor SqlCommand Initialization Cost: [00m00s000ms]
2008-02-06 12:00:05,859 [1] Seasar.Extension.ADO.Impl.BasicSelectHandler select COL_A ... FROM TABLE_A WHERE COL_ZZ = '10'
2008-02-06 12:00:05,859 [1] Seasar.Framework.Util.DataSourceUtil 論理的なコネクションを取得しました
2008-02-06 12:00:08,203 [1] Seasar.Framework.Util.ConnectionUtil 論理的なコネクションを閉じました
2008-02-06 12:00:08,203 [1] Hoge.Fugo.Core.dbflute.allcommon.s2dao.S2DaoInterceptor ===========/ [00m02s344ms - Selected count: 1 first={値...}]
2008-02-06 12:00:08,203 [1] Hoge.Fugo.Core.dbflute.allcommon.s2dao.S2DaoInterceptor
DBFlute の Behavior 経由にしたので、SELECT文は、1行になっていますが、
やはりここで、時間を喰っていそうです。
これは、やはりSQLが遅いと言う事なんでしょうか?。
これまでと同じようにログに出ているSQLを普通にCSE等で実行すると、結果は1秒かかりません。
1レコード分の値の取得だけで2秒は掛からないですよね...。
もう少し調べてみます。
・コネクションプール
・.NET Framework Data Provider for Oracle
が悪いのかな...。
以上、よろしくお願いいたします。
小林
seasar-dotnet メーリングリストの案内