如何使用命令行工具sqlite3浏览内存中的SQLite数据库
有没有办法使用sqlite3 CLI工具将整个SQLite数据库加载到内存中以获得更快的结果?谢谢 我不确定你想在这里完成什么,但我有两个想法要提出: 1-将数据库中的所有内容复制到内存中的某个附加数据库。此链接将告诉您如何连接内存中的数据库: 2-增加缓存大小,将事务保留在内存中,并将“临时存储”保留在内存中: 提供了一个很好的例子,即:如何使用命令行工具sqlite3浏览内存中的SQLite数据库,sqlite,in-memory-database,Sqlite,In Memory Database,有没有办法使用sqlite3 CLI工具将整个SQLite数据库加载到内存中以获得更快的结果?谢谢 我不确定你想在这里完成什么,但我有两个想法要提出: 1-将数据库中的所有内容复制到内存中的某个附加数据库。此链接将告诉您如何连接内存中的数据库: 2-增加缓存大小,将事务保留在内存中,并将“临时存储”保留在内存中: 提供了一个很好的例子,即: sqlite> attach database ':memory:' as mydb; sqlite> .schema CREATE TABLE
sqlite> attach database ':memory:' as mydb;
sqlite> .schema
CREATE TABLE log(ts,msg TEXT);
sqlite> create table mydb.log as select * from log;
sqlite> select * from mydb.log order by ts desc limit 5;
然而,我有点失望,因为我所希望的速度提高没有实现。我想是吧。我尝试的数据集大于300MB,远远超过了这里给出的默认页面缓存大小,因此您可以想象,将整个数据库加载到RAM中会产生明显的结果,但事实并非如此。有什么想法吗?您需要描述一下您试图获得的改进。。。听起来您可能需要定义一些索引,并确保它们按预期使用。如果您发布更多信息,例如表的结构,以及需要改进的SQL,也许我或其他人能够提供帮助。