将SQL数据库移动到ram中

时间:2013-12-20 13:17:25

标签: c++ sql sqlite

我有一个大约100 MB的SQLite数据库。为了加快访问速度,我考虑先将这些数据库移入RAM,然后直接从内存中读取。在我有多次读取访问后,这将加速我认为的应用程序。所以,我的问题是如何将这个数据库移动到RAM中,我可以通过sqlite3_open()访问它,或者如果我的想法是胡说八道,将数据库保留在磁盘上比通过映射将其移入Ram更快。 非常感谢你!

1 个答案:

答案 0 :(得分:2)

见:

https://www.sqlite.org/inmemorydb.html

您仍然需要打开第一个数据库并将数据复制到ram中,方法是在内存中打开一个新数据库,然后将副本中的所有数据插入到内存中已打开的数据库中。

它可能会更快,但您可能最好优化您的查询或数据库结构。我会研究使用指数。另一种选择是如果你知道你的数据是根据其中一列按顺序插入数据库的,那么在你的where子句中尝试使用RowId。

请参阅以下内容:

http://www.sqlite.org/optoverview.html

http://www.sqlite.org/lang_createindex.html