<分区>
我有一个大约 100 MB 的 SQLite 数据库。为了加快访问速度,我想到了先将这些数据库移动到内存中,然后直接从内存中读取。在我有多个读取访问权限之后,我认为这会加快应用程序的速度。所以,我的问题是如何将这个数据库移动到 RAM 中,我可以通过 sqlite3_open()
访问它,或者如果我的想法是胡说八道并且将数据库留在磁盘上比通过映射将它移动到 Ram 更快.
非常感谢!
<分区>
我有一个大约 100 MB 的 SQLite 数据库。为了加快访问速度,我想到了先将这些数据库移动到内存中,然后直接从内存中读取。在我有多个读取访问权限之后,我认为这会加快应用程序的速度。所以,我的问题是如何将这个数据库移动到 RAM 中,我可以通过 sqlite3_open()
访问它,或者如果我的想法是胡说八道并且将数据库留在磁盘上比通过映射将它移动到 Ram 更快.
非常感谢!
最佳答案
看这个:
https://www.sqlite.org/inmemorydb.html
您仍然需要打开您的第一个数据库并将数据复制到内存中,方法是在内存中打开一个新数据库,并将您在磁盘上的拷贝中的所有数据插入到您在内存中打开的数据库中。
它可能运行得更快,但优化查询或数据库结构可能会更好。我会考虑使用索引。如果您知道您的数据是根据其中一列的顺序插入数据库的,另一种选择是尝试在您的 where 子句中使用 RowId。
也可以看看这些:
关于c++ - 将 SQL 数据库移动到 ram,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20704516/