掲示板お問い合わせランダムジャンプ



この広告は30日以上更新がないブログに表示されております。 新しい記事を書くことで広告を消すことができます。

Top Index

2014年07月19日
Selectクエリの結果をファイルに書き出す
VB2010+VB2010+.NET4

よく使うので整理しときます。
やり方はいろいろあると思いますが、よく使いそうなのは以下の2つ。
A DataReader→DataTable→CSVファイル
B DataReader→CSVファイル

細かいこと(ソースコード)は後に回すとして、使い方はこんな感じ。
[A]
Dim tbl As New DataTable
tbl.Load(cmd.ExecuteReader)
Using sw = New StreamWriter("test.csv")
tbl.ToCsv(sw)
End Using
[B]
Using sw = New StreamWriter("test.csv")
cmd.ExecuteReader.ToCsv(sw)
End Using

せっかくなので、AとBでどれぐらい実行速度が違うか検証してみたところ、
Bの方が3〜4倍程度速い

以下、ソースコード



ついでに速度比較のログものっけと来ます
====================================
TestData : 1,000
------------------------------------
DataTable To Csv : 0.22 msec/row
DataTable To Csv : 0.213 msec/row
DataTable To Csv : 0.208 msec/row
DataTable To Csv : 0.203 msec/row
DataTable To Csv : 0.207 msec/row
------------------------------------
DataReader To Csv : 0.067 msec/row
DataReader To Csv : 0.067 msec/row
DataReader To Csv : 0.064 msec/row
DataReader To Csv : 0.067 msec/row
DataReader To Csv : 0.064 msec/row
====================================
TestData : 10,000
------------------------------------
DataTable To Csv : 0.2431 msec/row
DataTable To Csv : 0.2397 msec/row
DataTable To Csv : 0.2356 msec/row
DataTable To Csv : 0.2362 msec/row
DataTable To Csv : 0.2366 msec/row
------------------------------------
DataReader To Csv : 0.0597 msec/row
DataReader To Csv : 0.0626 msec/row
DataReader To Csv : 0.0589 msec/row
DataReader To Csv : 0.0607 msec/row
DataReader To Csv : 0.0597 msec/row
====================================
TestData : 100,000
------------------------------------
DataTable To Csv : 0.27813 msec/row
DataTable To Csv : 0.28351 msec/row
DataTable To Csv : 0.27656 msec/row
DataTable To Csv : 0.27698 msec/row
DataTable To Csv : 0.27792 msec/row
------------------------------------
DataReader To Csv : 0.07509 msec/row
DataReader To Csv : 0.07326 msec/row
DataReader To Csv : 0.08091 msec/row
DataReader To Csv : 0.07157 msec/row
DataReader To Csv : 0.07029 msec/row


[ 投稿者:mk3008 at 17:23 | VB.NET | コメント(0) | トラックバック(1) ]

この記事へのコメント

この記事へのトラックバック
Selectクエリの結果をファイルに書き出す(XLSX編)
VS2010+VB2010+...
投稿者: VB.NETで作る! at 2014-07-20 14:20:31

この記事へのトラックバックURL
http://shinshu.fm/MHz/88.44/a02480/0000445624.trackback

この記事の固定URL
http://shinshu.fm/MHz/88.44/archives/0000445624.html

記事へのコメント
 
簡単演算認証: 1 x 9 + 5 =
計算の答えを半角英数字で入力して下さい。
名前: [必須]
URL/Email:
タイトル:
コメント:
※記事・コメントなどの削除要請はこちら