トップページへ PASSJ ブログへ
トップページへ
分科会
特集!
コミュニケーション
資格
セミナー・コンファレンス
インフォメーション



Webテクノロジー ボードリーダー:小川 貢

毎月第2、第4木曜日はボードリーダーからのレポートを掲載いたします。
 
   

2004年1月15日
『どっとねっとと雑多な日々 19』


皆さん、DataSet を使ってますか?

.NET Framework の System.Data 名前空間にある DataSet は非常に便利なク
ラスです。データベースのデータや XML データを取り扱える汎用的なクラス
で、非常によく使われていることだと思います。

ただ、この DataSet を使う局面を良く考えないと常に負荷が高いシステムが
出来上がってしまいます。

DataSet には状態を保持する機構があります。

この機構は非常に便利ですが、Windows Form の DataGrid などに連結しなけ
れば、意外と必要ないケースが多いです。

Windows Form の UI クラスに限らず ASP.NET の UI クラスも DataSet 以外
に DataReader を DataSource にできます。

また、ASP.NET では、基本的にリアルタイムでのデータの更新というものが存
在しないので、基本的には DataReader だけで処理ができます。

なぜ、このようなことを書くかというと、とある Web システムでの話で、同
時接続数がそんなにないのに、システムが遅いという話がありました。

よく調べてみると、DataSet と DataAdapter を使って、コード記述量を減ら
して生産性を上げたかったという背景がありました。

DataSet は状態を維持する機構が存在するので、元のデータよりも大きくなると
いう傾向があります。
ですので、必要以上にシステムのメモリを圧迫していたということでした。

その改善には DataReader を使うように変更したら、かなり改善したということ
です。

このような事例がありますので、DataSet を使う局面をなるべく減らし、システ
ムのパフォーマンスを上げるように DataReader を使った開発をしてみてくださ
い。

ボードリーダーレポート トップページへ

 

 
PASSJメールニュース 著作権ついて プライバシーポリシー リンクポリシー お問い合わせ
(C) 2005 Professional Association for SQL Server Japan. All rights reserved.