
You want to compare the memory usage of Microsoft's SQLCE database and the open-source SQLite database. The version of your program using SQL Server CE by Microsoft may not be fast enough. Here we look at how these two databases perform when using the C# programming language and the .NET Framework.
SQLite FTS3 Virtual TableThis article is about SQLite memory usage versus SQLCE memory usage. It is outdated.
Comparison of SQLCE and SQLite SQLCE program: 8.6 MB SQLite program: 6.2 MB [smaller]
Notes: Figures are entire Windows Forms memory usage. SQLCE version is 3.5. SQLite used 2.4 MB less memory.
You might be able to switch from SQLCE to SQLite for a performance advantage. The numbers here show how my program's memory usage changed, first with SQLCE and then SQLite. I was unable to accurately measure performance due to program specifics.
SQLite uses substantially less memory when it is loaded into memory than does SQLCE. This decreased footprint could help other parts of your program stay in memory longer and be faster.
SQlite is compatible with Mac OS X and Linux, unlike SQLCE. Your Mac users could use the same databases on their systems. Obviously, Mac users won't have C# .NET installed. This isn't important in Windows-only offices, however.

The best method I have found to use SQLite in the C# language is an open-source ADO.NET provider. It combines C# and SQLite and is simply called System.Data.SQLite. I highly recommend it if you need a client-side database. That project also includes FTS3, full-text search, in the assembly.
Note: Link removed because it is no longer operational.
Here we saw that SQLite can sometimes use less RAM than SQLCE. SQLite is a capable database and is in the public domain, thanks to its creator Richard Hipp. SQLite generally uses less memory and is faster than SQLCE, and the System.Data.SQLite assembly is excellent for C# developers.
Data