[dba-VB] ADO.NET datasets - speed test

Salakhetdinov Shamil mcp2004 at mail.ru
Fri Feb 24 05:24:42 CST 2012


Hi All --

 I have a custom application using several MS Access backends where data are loaded/imported from several .csv (report) files and then processed to get common lookup values. The source tables for the latter ones (lookup values) are loaded from MS Access databases into memory to speed-up the whole process - here are the loading stats:

- lookup dataset #1 - loaded 4014 rows in 0.218 seconds
- lookup dataset #2 -loaded 1425 rows in 0.105 seconds
- lookup dataset #3 - loaded 14955 rows in 0.236 seconds
- lookup dataset #4 - loaded 29316 rows in 0.493 seconds
- lookup dataset #5 - loaded 9394 rows in 0.535 seconds

Speed of data loading into memory looks impressive, isn't? - the testing system is a simple for nowadays PC - an year 2007 production dual core Pentium laptop with 3GB of memory running Win7 32bit.

And  

100,000 searches (using ADO.NET data set .Select method) against loaded in memory datatsets takes ~5 seconds,
500,000  searches - 21 seconds,
1,000,000 searches - 46 seconds

Not bad at all.
  I have mentioned here already that I haven't used ADO.NET datasets that much with MS Access backends - I have mainly used OleDbDataReader to get data into memory and then manipulate it via custom classes and update backend  using OleDbCommand and "action queries" .

Based on the above stats I'm reconsidering now my usual techniques and I will be switching to mainly using ADO.NET datasets with MS Access backend for all kinds of data manipulation operations for desktop applications...

Still ADO.NET datasets could be "heavy/memory consuming" for web/ASP.NET applications - that was ~year 2005 opinion from some experts I based my practice on - I suppose it should be now (year 2012 - and VS2010) checked how "heavy" ADO.NET datasets really are comparing with OleDbReader and related  "low level" data manipulation techniques - have you seen anywhere such stats?

Thank you.

-- Shamil 


More information about the dba-VB mailing list