2012-06-28 102 views
6

我想知道使用SQL Server Compact数据库(.sdf)和完全成熟的数据库(例如SQL Server Express)之间的主要区别是什么?使用SQL Server Compact与专用SQL Server数据库的缺点

是否有任何主要的性能问题,如果是的话,紧凑型数据库在开始注意这个问题之前可以获得多大的性能?

当启动项目时,我发现使用紧凑的数据库是一个简单,直接和干净的解决方案,何时应该转换并移至专用数据库?

回答

11

让我们试着:

  • 最大2 GB的文件大小
  • 没有存储过程,触发器等
  • 没有过程,但加载到AppDomain中
  • 据我所知,没有基于成本的优化器或查询计划
  • 多个用户同时缺少并发访问

这里最大的问题是,CE只是系统中的一个文件,您可以通过使用dll进行简单的InApp调用访问。多数民众赞成在很多情况下,这就够了。很多人会说,以后可以切换到SQLS,但我不这么认为。这是一个完全不同的世界! CE是我眼中的单品。

请记住,当您不想发布您的应用程序时,您需要部署CE-DLL!

+5

伟大的列表。我想补充一点,SQL Server Compact没有任何内存中的缓存,所以所有的查询都会碰到磁盘。使用SQL Server Express热数据保留在内存中可以显着加快查询速度,尤其是在查询经常运行的情况下。 –

+0

它实际上每个数据库最大4 GB,并且有一个基于成本的查询处理器和查询计划。还有“避免”查询处理器的API – ErikEJ

2

SQL Compact不支持存储过程。您直接在代码中编写所有查询。 这足以让我选择SQL Express。现在,我们还可以选择LocalDB来简化部署方案。

相关问题