やじゅ@アプリケーション・ラボ わんくま支局

目次

Blog 利用状況

ニュース

プロフィール

MSMVP

2008年12月8日 #

DataTableのLoad メソッド

DataSet と DataReader のパフォーマンスにおいては、DataReaderが速いというのは、仕組み的にも下記サイトの検証結果をみても分かる。

ADO.NETでのデータ取得を高速化するためのヒント
http://japan.internet.com/column/developer/20060307/26.html?rss

ADO.NET2.0から、DataTableのLoad メソッドが追加されたわけだが
http://www.microsoft.com/japan/msdn/net/adonet/datasetenhance.aspx

Dim dt As new DataTable
dt.Load(dataReader)

上記の結果から考えると、adapter.Fill(ds)よりは速いように思えてしまう
のだけど、下記サイトの検証結果によるとdt.Loadの方がそれなりに遅いようである。

DataSet vs DataReader 検証 .NET2.0
http://blogs.wankuma.com/ganfield/archive/2007/02/06/61084.aspx

DataGridViewなどのDataSourceにセットする場合は、素直にAdapter.Fillを使用した方がよさそうです。

また、dt.Load(dataReader) とAdapter.Fillで、挙動が違うなどもありますね。
dt.Load(dataReader)は制約(NULL)までも取り込んでしまう?
http://blogs.wankuma.com/ognac/archive/2008/06/13/143481.aspx

DataTableのLoad メソッドは、使用する場合はちと注意が必要かも。

posted @ 1:45 | Feedback (14)