This question already has answers here:
How to create an in-memory database with schema based on an existing file database
                                
                                    (2个答案)
                                
                        
                                6年前关闭。
            
                    
我有一个大约100 MB的SQLite数据库。为了加快访问速度,我考虑过先将这些数据库移入RAM,然后直接从内存中读取。在我具有多个读取访问权限之后,我认为这将加快应用程序的速度。因此,我的问题是如何将该数据库移动到RAM中,以便可以通过sqlite3_open()访问它,或者如果我的想法是胡说八道并将数据库保留在磁盘上,则比通过映射将其移动到Ram更快。
非常感谢你!

最佳答案

看到这个:

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

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

它的运行速度可能更快,但优化查询或数据库结构可能会更好。我会考虑使用索引。另一个选择是,如果您知道数据是根据列之一顺序插入数据库的,则尝试在where子句中使用RowId。

也请参阅以下内容:

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

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

07-25 23:04
查看更多