【发布时间】:2013-05-29 02:39:49
【问题描述】:
我们正在尝试将 SQLite 集成到我们的应用程序中,并尝试填充为缓存。我们计划将其用作内存数据库。第一次使用它。我们的应用程序是基于 C++ 的。
我们的应用程序与主数据库交互以获取数据并执行大量操作。这些操作通常与一个非常大的表有关。 我们在 SQLite 中复制了这个表,以下是观察结果:
字段数:60 记录数:1,00,000
随着数据填充的开始,应用程序的内存从 120MB 急剧上升到约 1.4GB。此时我们的应用程序处于空闲状态,没有进行任何重大操作。但通常,一旦操作开始,内存利用率就会上升。现在有了内存数据库中的 SQLite 和如此高的内存使用率,我们认为我们将无法支持这么多记录。
问。有没有办法在内存中找到数据库的大小?
当我在磁盘上创建数据库时,数据库大小总和约为 40MB。但是应用程序的内存使用率仍然很高。 问。这种高使用率是否有原因。所有缓冲区都已清除,如前所述 DB 不在内存中?
任何帮助将不胜感激。
感谢和问候 萨钦
【问题讨论】:
标签: sqlite memory memory-management