【问题标题】:RAM usage of SQL CE database in .NET CF.NET CF 中 SQL CE 数据库的 RAM 使用情况
【发布时间】:2011-05-13 20:47:00
【问题描述】:

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

谁能帮我解决这个问题?

【问题讨论】:

  • 也看看 SQLite。这也适用于移动设备,并且占用空间要小得多。

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


【解决方案1】:

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

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

那么它可以减少你的内存使用吗?可能,只要您使用数据库引擎一次查看一小部分数据。同样,这完全取决于您现在正在做什么,以进行比较。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    相关资源
    最近更新 更多