- - PR -
【C#.NET】パフォーマンスを改善したいです。
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-07-07 16:33
3層構造のアプリケーションサーバー(Webサービス)なら、その処理ではユーザーにデータを見せる必要ないと思いますので、
次回設計時はデータセットという機能は多いが遅い物を使わずにSqlDbCommandとかストアドプロシージャとか単純で速いものを使ったほうがいいと思います。 #パフォーマンスでユーザーからクレームが来そうな遅さでしたら、 #今からでも設計しなおしたほうが良いかもしれません。 |
|
投稿日時: 2004-07-07 17:34
Mickyでございます。
お世話になっております。 基本的には、NAL-6295さんの方法と同じなんですが、 変更データごとに抽出するのなら、 DataSet.GetChanges メソッドを使うなんて方法もありますよ。 引数に、DataRowStateが指定できます。 効率の話なのに、実際に比べたわけではなくて恐縮なのですが、 一応御参考までに…(^^; [ メッセージ編集済み 編集者: Micky 編集日時 2004-07-07 17:40 ] |
|
投稿日時: 2004-07-07 20:26
じったぼんさん、えムナウさん、なちゃさん、NAL-6295さん、Mickyさん
いろいろなアイディアありがとうございました。 SELECTとUPDATEを違うデータセットに分けたところ、劇的ではありませんが、効果がありました。UPDATEのデータセットは変更項目のみですから、これも効率改善の一助になっていると思います。ちなみに、データベース操作をブラックボックス化しているので、DataViewRowStateやDataSet.GetChangesが使えませんでした。 「機能が多ければ遅いし、単純であれば速い」は納得です。当たり前のことですが、今回の件で、再認識できました。でも、データセットは想像してたより重いです。メモリ上ですからもう少し速くてもいいんじゃないかと思いますが。。。 |