SQL Server CE データベースの 2 つのテーブルから大量のデータ (約 65,000 行) を呼び出す vb.net アプリケーションがあります。
コードは非常に簡単です。
cmd.CommandText = "SELECT [Table1Col1], [Table1Col2], ... [Table1Col8], " & _
"[Table2Col1], [Table2Col2] FROM [Table1] LEFT JOIN [Table2] " & _
"ON [Table1].[LinkCol] = [Table2].[LinkCol] WHERE [Table1Col8] = 0 " & _
"ORDER BY [Table1].[LinkCol]"
reader = cmd.ExecuteReader()
Do While reader.read
[read data, format it, etc]
Loop
このreader.readステートメントは、実行に最も時間がかかります。65,000 行を読み取って処理するのに約 2 時間かかりますが、その約 60 ~ 70% はreader.readステートメントの遅延によるものと推定されます。
これをスピードアップする方法はありますか?
編集:
いくつかの時間測定を行ったところ、reader.readステートメントは、読み取り、フォーマットなどのコードブロックよりも (平均で) 150 倍長くかかりました。