c# - .NET CF 中 SQL CE 数据库的 RAM 使用情况

标签 c# .net-3.5 windows-mobile compact-framework sql-server-ce

我正在使用 C# 和 .NET CF 编写 Windows 移动应用程序,该应用程序使用当前存储在 RAM 中的大量数据。由于 Windows CE 中的虚拟内存限制,我需要减少 RAM 使用量。我想知道使用 SQL CE 数据库并将数据存储在数据库中是否会减少 RAM 使用量。 所以,基本上我需要知道何时使用 SQL CE 数据库,数据是存储在磁盘上还是 RAM 上。

谁能帮我解决这个问题?

最佳答案

SQL Compact 将使用文件作为后备存储。这会减少 RAM 的使用吗?这在很大程度上取决于您现在的工作方式以及您使用 SQL Compact 数据库的方式。

如果将 SDF 文件放在持久存储中,那么它将占用更少的 RAM 进行存储。如果您将所有内容都放在一个表中,然后使用类似 DataTable 的内容来保存“SELECT * FROM MyTable”的结果,那么整个内容将被复制到 RAM 中,从而失去任何好处。但是,如果您使用 SQL 语句来过滤返回的数据,那么内存使用量将会减少。使用 ResultSet 和 DataReader 而不是巨大的 DataSet 也有很大的不同。

那么它能减少你的内存占用吗?可能,前提是您使用数据库引擎一次查看一小部分数据。再次重申,这完全取决于您现在正在做的事情,以进行比较。

关于c# - .NET CF 中 SQL CE 数据库的 RAM 使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4246120/

相关文章:

c# - 我可以在泛型类中使用 T 的静态字段吗

c# - 如何在 AlternateView 上设置编码

c# - 如何使用 .NET Compact Framework 播放视频?

有条件地包含适用于 Windows Mobile 的代码

c# - 合并 DLL 和更改管理 namespace

c# - 在所选数据源中找不到名称为 'ApproveID' 的字段或属性

c# - 获取给定 EntityType 的导航属性

c# - 这是协方差问题吗?不确定是否砖墙

c# - .NET Framework 4 与 .NET Framework 3.5 中的 WCF 有哪些新功能?

windows-mobile - Windows 移动异常处理