Hi All,

Our team is currently working on a WPF Desktop application with
ActiveRecord and SQLCE 3.5 for backend. We've been experiencing some
strange performance issues when executing queries or creating/updating
records. In some cases opening a form which has a few grids and data
elements that need to be populated, can take around 2 seconds!! This
is not very ideal on a desktop application. We did some testing both
with Active Record and Fluent NHibernate and found that given an
extremely simple entity (2 string fields, no associations), a call to
Create() will take something like 300ms the first time, and around
100ms the subsequent times. For a FindAll (given there are only 5-6
rows in the table), the first call takes around 200ms, and subsequent
calls take around 80ms.  SQLite was somewhat faster (in some
situations around half the time), but SQL Server was considerably
faster; around 5-6 ms for queries and inserts after the first call!

We dug a little further, the problem (amongst other things perhaps)
seems to be related to session creation and releases under the hood.
They seem to be quite slow for SQLCE and SQLite. For large sets of
data, performance seems to be similar to SQL Server which makes me
think the problem is not the execution of the query itself. But given
all sorts of caching and session management that happens between
ActiveRecord, NHibernate, and the database, I'm not quite sure where
the problem actually lies.

Is this sort of performance normal with SQLCE (and SQLite)? Are there
any tweaks that can be done to improve this? I would've expected these
to be faster than SQL Server, and certainly not 100+ ms to perform a
simple operation. Any hints or suggestions would be great!

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to