SQL Server Compact 3.5のSqlCeDataReaderをリードすると異常に遅い…
photo by Bеn
SQL Server Compact 3.5のSqlCeDataReaderを使用して、”While”ステートメントでループ処理を行い、データをリード。
SQL Server 2008 ExpressではSqlDataReaderを使用して、同様の処理を行えますが処理時間が異常に違います。
なにか、設定が必要なのか?といっても、SqlCeDataReaderにはSeekぐらいしか見あたらないし……
顧客データをたった800件、FlexGridに表示していくという処理を行ったのですが、
SQL Server 2008 ExpressではSqlDataReaderで、約0.7秒
SQL Server Compact 3.5のSqlCeDataReaderで、約7~8秒
10倍近く違います……
たったの800件ですから、4000件になったと仮定すると5倍の約35~40秒って、使えないよこれじゃ~。
とりあえず、解決策がみつかるまでSqlCeDataReaderの使用は軽いとこだけで使用し、コントロールのDataSourceにSqlCeDataAdapterにセットしたテーブルをセットすることとします。
このDataSourceとSqlCeDataAdapterを使った方法だと、0.3秒で処理できるので、なにか設定しだいでSqlCeDataReaderでも速くなるのか、もともと遅いのか現段階で、はっきりしません。
この件で、なにか分かればまたエントリーします。
関連するエントリー
- None Found