1

我正在使用 Datamapper,它允许您指定系统上数据库文件的路径,或者仅指定字符串“memory”,然后使用“in-memory”数据库。但是,我不知道这意味着什么。

“内存中”数据库是纯粹基于内存的,还是在某个时候被序列化到文件系统?

内存数据库有什么好处?

仅仅是为了提高效率——通过消除文件系统访问的成本吗?

4

2 回答 2

1

SQLite 拥有内存数据库的原因并不是为了性能。实际上,拥有一个文件并不比跳过它慢,除非内存不足。它实际上主要用于临时缓存或测试。例如,您可以使用内存数据库进行单元测试,这样您就不会处理生产数据。或者,如果您需要 SQL 功能,您可以使用它作为 memcache 的替代品。基本上,它就在那里,所以如果你不需要的话,你不必持久化数据。

于 2009-07-25T05:35:03.073 回答
1

SQLite 文档

如果文件名是 ":memory:",则为连接创建一个私有的临时内存数据库。当数据库连接关闭时,这个内存数据库将消失。

于 2009-07-25T05:35:48.080 回答