开发者

How to browse an in-memory SQLite database with the command line tool sqlite3

开发者 https://www.devze.com 2023-03-16 21:03 出处:网络
Is there a way to load an e开发者_如何学Cntire SQLite database into memory for faster results, using the sqlite3 CLI tool? Thanks!I\'m not sure of what you are trying to accomplish here, but I have tw

Is there a way to load an e开发者_如何学Cntire SQLite database into memory for faster results, using the sqlite3 CLI tool? Thanks!


I'm not sure of what you are trying to accomplish here, but I have two ideas to propose:

1- Copy everything from your database to some attached in memory database. This link will tell you how to attach an in memory database: http://www.sqlite.org/lang_attach.html

2- Increase your cache size, keep transactions in memory, and keep the "temp store" in memory: http://www.sqlite.org/pragma.html#pragma_cache_size http://www.sqlite.org/pragma.html#pragma_journal_mode http://www.sqlite.org/pragma.html#pragma_temp_store


This article provides a good example, namely:

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;

However, I was a bit disappointed, since the improvements in speed I was hoping for were not met. I guess I'm not alone. The data set I tried is > 300MB, well beyond the default page cache size given there, so you would imagine that loading the entire database into RAM would yield noticeable results, but wasn't really the case. Any thoghts?


Pass --deserialize to the sqlite3 CLI tool.

0

精彩评论

暂无评论...
验证码 换一张
取 消