如何使用命令行工具sqlite3浏览内存SQLite数据库

发布于 2024-11-17 19:17:46 字数 61 浏览 2 评论 0原文

有没有办法使用 sqlite3 CLI 工具将整个 SQLite 数据库加载到内存中以获得更快的结果?谢谢!

Is there a way to load an entire SQLite database into memory for faster results, using the sqlite3 CLI tool? Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

紙鸢 2024-11-24 19:17:46

这篇文章提供了一个很好的例子,即:

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 中会产生明显的结果,但事实并非如此。有什么想法吗?

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?

一腔孤↑勇 2024-11-24 19:17:46

我不确定你想在这里完成什么,但我有两个想法要提出:

1-将数据库中的所有内容复制到内存数据库中附加的一些内容。此链接将告诉您如何附加内存数据库:http://www.sqlite.org/lang_attach。 html

2- 增加缓存大小,将事务保留在内存中,并将“临时存储”保留在内存中:
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

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

旧伤慢歌 2024-11-24 19:17:46

--deserialize 传递给 sqlite3 CLI 工具。

Pass --deserialize to the sqlite3 CLI tool.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文