我想知道在 android 设备中,如果数据库有很多项目,数据库效率更高,或者只是一个普通的 json 文件。
问问题
4108 次
2 回答
4
不,Sqlite 会通过分页读取硬盘数据。Sqlite 文档说:“为了将数据从数据库返回给用户,例如作为 SELECT 查询的结果,SQLite 必须在某些时候从数据库文件中读取数据。通常,数据是从数据库文件中读取的对齐的页大小字节块。"
于 2019-09-29T06:17:15.623 回答
0
当“连接”到 SQLite 数据库时,有一个选项是使用memory
而不是filesystem
作为存储。
但它仅在创建新数据库时使用,因此内存数据库中的“新”将为空。当您想利用 SQL (如对大量数据进行索引和查询)时,这很有用。
不幸的是,从文件系统复制到内存(反之亦然)不是 SQLite 的功能。这是一种设计选择,因为 SQLite 文件必须由您(或其他人)锁定以进行并发控制。
通常DSN
连接到 SQLite 数据库的 a 看起来像这样'sqlite:/path/to/file.sqlite'
。对数据库的访问控制由访问文件系统权限提供。在内存数据库的情况下,DSN
将如下所示'sqlite::memory'
。
于 2013-01-04T12:06:09.303 回答