SQL 带有 .NET 多个应用程序的服务器 CE

SQL Server CE with .NET mutliple applications

我是 .NET 开发和 SQL Server CE 的新手,我正在处理我们公司产品中的一些数据库问题。

它的设计方式是 SQL 服务器 CE 动态链接到 2 个应用程序 (.csproj) (.DLL),我们有一个使用 DLL 的包装器创建、更新、删除数据库,他们访问一个 SQL 服务器 CE 数据库 (.sdf)

在线阅读 SQL Server CE with .NET apps 后我发现:

  1. 多个应用程序可以访问同一个.sdf文件,不需要额外的锁定机制来访问数据库

  2. 数据库很小,.NET 应用程序在内存中加载数据库,并且在内存本身中执行操作。

现在我的问题是:

  1. 由于有 2 个 .NET 应用程序访问此 .sdf 数据库,内存中是否有相同 .sdf 文件的 2 个副本并且应用程序正在修改自己的版本?

  2. 我做错了什么,团队发现问题(异常内容已删除),数据库访问速度慢。

谢谢

1:如果应用共享同一个文件,它们修改的是同一个文件,而不是它们自己的版本。请注意,SQL CE 有一个(默认最多 10 秒)刷新到磁盘延迟。

2:如果删除已经发生,不要抛出异常! (您可能会受到 10 秒缓冲延迟的影响 - 这可以设置得更低,但会稍微影响性能)

缓慢的数据库访问:可能完全不相关 - 您是否有所需的索引等 - 即:请向我们展示一些代码