- PR -

ASP.Net2.0 で DataSet

1
投稿者投稿内容
未記入
会議室デビュー日: 2005/04/25
投稿数: 7
投稿日時: 2007-02-04 03:59
以前、WEBでDataSetの使用はパフォーマンスが低下する為、推奨されず、DataReaderの使用が推奨されていたと思うのですが、ASP.NET2.0でも同様でしょうか。
みなさんは、その辺りどうされていますでしょうか。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-02-04 10:17
引用:

未記入さんの書き込み (2007-02-04 03:59) より:

以前、WEBでDataSetの使用はパフォーマンスが低下する為、推奨されず、DataReaderの使用が推奨されていたと思うのですが、


そのような旨が書かれているソースを教えて頂けないでしょうか?
('シリアル化' の場合に限定されたお話ではないのでしょうか...?)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2007-02-04 10:23
DataSetとDataReaderを同じ条件で較べた場合、DataReaderのほうがパフォーマンスが良い
のはそのままです。
SqlDataSourceでDataSourceModeプロパティによってDataSetとDataReaderを切り替えられる
のは、こういった点を考慮したものと思われます。
ただし、DataReaderを利用する場合、GridView等のコントロールでページングやソートが
利用できなくなります。
ということで、一律にどちらかを使うのではなく、シナリオによってより適切なものを
使うべきでしょう。
がんふぃーるど
ベテラン
会議室デビュー日: 2006/06/05
投稿数: 58
お住まい・勤務地: さいたま
投稿日時: 2007-02-04 10:56
A Speed Freak's Guide to Retrieving Data in ADO.NET
Why I Don't Use DataSets in My ASP.NET Applications
More On Why I Don't Use DataSets in My ASP.NET Applications

ソースはこれらですね。一番上が大元の記事で、真ん中の記事はスコット・ミッチェルがそれに対して記事を書いています。最後の記事もスコット・ミッチェルのもので、真ん中の記事へ寄せられたコメントに対し、色々意見を述べています。

ASP.NET 2.0に関しては実際動かして確認はしていませんが、少なくともDataReaderの方が速いことは確実でしょう。
ただ、パフォーマンスに余裕があるのであれば、無理にDataReaderを使用する必要はないと思います。

# リンクがおかしかったので修正

[ メッセージ編集済み 編集者: がんふぃーるど 編集日時 2007-02-04 10:57 ]
未記入
会議室デビュー日: 2005/04/25
投稿数: 7
投稿日時: 2007-02-04 11:51
DataSetより、DataReaderが速く、WebではDataSetはあまり使うべきではないというのは
、.NET2003のMSDNに記載されていたものです。
確かに、DataSetはDataSourceにバインドできるので、便利です。
やはり、シナリオに応じて選択すべきですね。

皆さんのご意見ありがとうございました。

Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2007-02-04 21:41
引用:

やはり、シナリオに応じて選択すべきですね。


私はDataSetとDataReaderを次のように使い分けしています。

DataSetを使うケース:
GridView、DetailsViewなどのデータコントロール
(ページング、並べ替え、追加、編集、削除処理を含む)

DataReaderを使うケース:
DropDownList、ListBoxなどのリストコントロール

※GridViewでデータ件数の多いテーブルをページング、並べ替えするときは
ObjectDataSourceのカスタムページ、カスタムソートを利用しています。
この場合、DataReaderを使用します。

_________________
ASP.NET+Ajaxサンプル集

[ メッセージ編集済み 編集者: Access 編集日時 2007-02-04 21:52 ]
1

スキルアップ/キャリアアップ(JOB@IT)