exciteブログ
マイページ ブログトップ エキサイト

3流プログラマのメモ書き

(.Net)DataTableへのアクセスで列名で指定すると遅くなる
カテゴリ:.Net開発
コメント(0件)
2012年05月12日 12:30

DataTableの特定の列にアクセするときの列の指定で、列名でアクセスすると、DataColumnやインデックスでアクセスするときに比べ2倍ほど遅くなるようです。
なので、列にアクセするときはなるべくインデックスかDataColumnを使いましょう。

同じように、ループ時に一旦新たに DataRow を作成し、そこに代入、そのDataRowから各列にアクセスとするか、foreach でのアクセスが望ましいようですね。
Rowsへのアクセスも全行舐めるような処理の時に DataTable.Rows[rowIndex][colIndex] とすると上の方法に比べ、4倍程度遅くなるようです。


.SelectメソッドにいたってはLinqやループで検索するときに比べ数十倍遅いようです。データ量が多い時は Select メソッドは使い物にならないかもしれません。

また、DataTableの書き込みに関しても BeginEdit,EndEditの無い場合、有る場合と比較して十数倍ほど遅くなります。BeginEdit,EndEditは使ったほうがよさそうです。

DataTableは便利だけど遅いので、結局クラス化してそれをListコレクションにしたほうがいいのかもしれません。

参考:

 1/2 この記事の続きを読む>>
Tags:.Net
コメント(0件)|コメントする
トラックバック(0件)

前の記事へ | 次の記事へ
記事一覧年月別記事
お気に入り登録する!

カテゴリ:.Net開発(画像を見る)
(.Net)文字列で桁を揃えるため0埋めしたい
(.Net)DataTable.Selectの条件は引用符でくくらないとおかしなことになる

カテゴリ一覧
タグ一覧
ブログ内検索 新着コメント
新着トラックバック

共有する twitter
このブログをメールで友達に送る

3流プログラマのメモ書き>(.Net)DataTableへのアクセスで列名で指定すると遅くなる

マイページ ブログトップ エキサイト
簡単!無料ブログ作成
おすすめブログ
新着記事 | 新着画像
[公式]ブログカテゴリ
社会貢献|モデル|ライフスタイル
デザイン|カルチャー|美容コラム

キーワード検索
▲上へ
ヘルプ

マイページ  上へ
ブログトップ  エキサイト

(C)Excite Japan Co.,Ltd
All Rights Reserved.