前提・実現したいこと
以下のコードを含んだアプリを同時実行(手動でExeを叩く)すると、
必ずdr.Readの部分が遅くなります。
dr.Readの前後にログを仕込んで計測した結果、
単体:約10秒
2つ同時実行:約20秒
3つ同時実行:約30秒
と追加実行する度に10秒ずつ時間が伸びています。
これを同時実行時でも遅くならないようにしたい。
dr.Readが該当箇所であることは分かっているのに、
どうにも根本原因がつかめなくて困っております。
ご教示願います。
環境
開発:
Win7 x64 Professional
Visual Studio 2012
サーバー:
Win Server 2008 R2 Std
Oracle DB 11g
試したこと
- FetchSizeを変更してみる
- DataAdapterに変更してみる
- サーバー側のメモリスワップを解決
- 遅延バインディングをなくしてみる
- 9iでも試してみる
- 専用サーバーから共有サーバーに変更
- A5:SQLというツールでSELECTクエリを同時実行しても同じ現象が発生
※Oracleの設定のような気がしています。
VB
1Dim cn As Object = Nothing 2Dim cmd As Object = Nothing 3Dim dr As Object = Nothing 4 5cn = New OracleConnection("接続文字列") 6cn.Open() 7 8cmd = cn.CreateCommand() 9cmd.CommanType = Commandtype.Text 10cmd.CommandText = "ただのSELECT文のみ(数万件程度のデータ)" 11 12dr = cmd.ExecuteReader() 13 14while dr.Read 15(何かの処理) 16End While
回答1件
あなたの回答
tips
プレビュー