- - PR -
処理の重いSQLを発行すると画面が固まってしまう
1|2|3|4
次のページへ»
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-05-29 11:04
現在C#.netでクライアントソフトを開発中です。
プログラム上で処理の重たいSQL文を発行すると 画面が固まった様な状態になってしまいます。 このような状況は、どの様な方法で回避するのがよろしいのでしょうか? 使用しているDBはOracleで、 System.Data.OracleClientライブラリを使用して接続しています。 | ||||||||
|
投稿日時: 2007-05-29 11:16
データベースと SQL のチューニング。 補足: 表の構成とか索引の有無以外に初期化パラメータ(特に SGA 周り)の 設定を要確認かと。 _________________ もしもし@RMAN 友の会 [ メッセージ編集済み 編集者: もしもし 編集日時 2007-05-29 11:43 ] | ||||||||
|
投稿日時: 2007-05-29 11:20
もしもしさんも書いてますが。 素直に発行しているSQLとテーブル構造を見直した方が。 重いって事はテーブルスキャンをしてるとか 複雑な結合条件を指定してるなど 想定できる事は色々あり得ます。 | ||||||||
|
投稿日時: 2007-05-29 11:26
その SQL 文は、SQL * Plus から発行しても遅いんじゃないですか? まずは、その辺の切り分けをされてはいかがでしょうか。 (どうして、アプリが原因だと考えたのかが分からない) | ||||||||
|
投稿日時: 2007-05-29 12:45
説明足らずで申し訳ありません。
実行させるSQLは処理が重い事もありますし、DB設計やチューニング等もありますが、 今回は単純にDBサーバーの性能が低いのが原因だと思います。 SQL Plusで走らせても遅いです。 このような場合、.netの機能等で画面を固まらないようにする方法があるのかなと。 SQL文一括処理型から何度も応答があるような物にして画面再描写等を考えたのですが、 もっと良い方法があるのではないかと思いまして。 | ||||||||
|
投稿日時: 2007-05-29 12:58
非同期呼び出しでいいんじゃ?
| ||||||||
|
投稿日時: 2007-05-29 13:01
先日、副問い合わせの件数が多くて重かったことが。副問い合わせをやめたら問題なくなったようです。
| ||||||||
|
投稿日時: 2007-05-29 13:10
具体的に、何秒くらいですか? また、同じ SQL をコマンドラインツールから実行しても同じくらい時間がかかるのでしょうか? |
1|2|3|4
次のページへ»