sqlite3 是不是在使用之前将整个数据库读入内存?

Posted

技术标签:

【中文标题】sqlite3 是不是在使用之前将整个数据库读入内存?【英文标题】:Does sqlite3 read the entire DB into memory before it can be used?sqlite3 是否在使用之前将整个数据库读入内存? 【发布时间】:2018-07-31 21:22:06 【问题描述】:

sqlite3 是否需要在运行查询之前将整个 sqlite DB 读入内存? IOW,我是否限制了基于可用内存的数据库大小?

换一种说法,SQLite3 与 db 文件的工作方式是否与 postgres 之类的数据库与它的数据库文件的工作方式相同......在特定文件/页面中搜索记录,诸如此类。或者 SQLite 是否需要将整个 db 文件读入内存才能搜索特定的东西?

我一直觉得是后者。但我可能错了。

【问题讨论】:

【参考方案1】:

除非您使用的是in-memory database,否则不会。

【讨论】:

“内存数据库”的链接听起来像是只存在于内存中的数据库(没有对应的文件 = 数据库)。我将把我原来的问题扩充得更具体。

以上是关于sqlite3 是不是在使用之前将整个数据库读入内存?的主要内容,如果未能解决你的问题,请参考以下文章

如何将加载 .sql 或 .csv 文件导入 SQLite?

sqlite3 从内存流中加载数据库文件

我可以通过索引访问 Parquet 文件而不将整个文件读入内存吗?

Android中如何使用命令行查看内嵌数据库SQLite3

根据标准从大型数据集中读取特定数据,以避免将整个文件读入内存

无法使用 sqlite3 在磁盘上保存数据库 - Python [重复]