- 締切済み
C#のデータベースプログラムの効率について
Visual C# 2013 Expressを独学で学んでいます。初心者です。 現在Oracleのデータベースから、SQL文でデータを取得して 処理するプログラムを作っています。 取得したデータはDataTableオブジェクトに入れて、 行列をfor文で検索するようにして作っています。 そこで疑問なのですが、プラグラムのはじめにSELECT文で 複数の項目を一気に取得してDataTableを使いまわす場合と、 そのつど必要な項目だけ小分けに取得する場合どちらが 早い(効率のよい)処理なのでしょうか? 例1)一気に取得する場合 5000行×10列×処理10回:for文は500000回、データベースの取得は1回のみ 例2)小分けに取得する場合 5000行× 2列×処理10回: for文は100000回、データベースの取得は10回必要 例1のほうがサーバの負担が軽くて良いと思っているのですが、どうなのでしょうか? すごくわかりづらくて申し訳ないですが、どなたか教えてください。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
補足
回答ありがとうございます。 小分けにしつつ、取得も1回にするとはどうしうことでしょうか?SELECT文は1回で、他(UPDATEやDELETEなど)は小分けにという意味でしょうか? 今回作りたいプログラムは複数の列を取得して、取得したデータを他のデータと比較するようなプログラムなのです。ですのでWHEREで絞らず、for文で列の全数比較する必要があります。