Disadvantages of using SQL Server Compact versus dedicated SQL Server database
.net-4.0, c#, sql-server-ce, sql-server-express
Solution
Lets try:
- max 2 GB file size
- No stored procedures, triggers etc.
- No process but loaded into your AppDomain
- As far as I know, there is no cost based optimizer or query plans for queries
- Lack of concurrent access of multiple users at the same time
The big issue here is, that CE is only a file on your system and you get access through a simple InApp-call using a dll. Thats it and in many scenarios this is enough. Many people would say, that you can switch to SQLS later but I don't think so. It's a complete different world! CE is a single product in my eyes.
Remember, that you need to deploy the CE-DLL when you wan't to publish your app!
Problem
I'm wondering what the key differences between using a SQL Server Compact database (`.sdf`) and a full fledged database like for example SQL Server Express are? Are there any major performance issues, and if so, how big can the compact database get before starting to notice this? When starting projects I find using a compact database a simple, straight forward and clean solution, when should I convert and move over to a dedicated database?