[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 メーリングリストの案内