我想知道数据库更高效,或者只是一个普通的json文件,如果它有很多项目,在Android设备中。
答案 0 :(得分:2)
否,Sqlite将通过分页读取硬盘数据。 Sqlite文件说: “为了将数据从数据库返回给用户,例如作为SELECT查询的结果,SQLite必须在某个时候从数据库文件中读取数据。通常,数据是从数据库文件中按页面对齐的块读取的,大小字节。”
答案 1 :(得分:0)
当“连接”到使用memory
而不是filesystem
作为存储的SQLite数据库时,有一个选项。
但它仅在创建新数据库时使用,因此内存数据库中的“new”将为空。当您希望利用SQL(如索引和查询大量数据)时,这非常有用。
不幸的是,从文件系统复制到内存(反之亦然)不是SQLite中的一项功能。这是一个设计选择,因为SQLite文件必须被您(或其他人)锁定以进行并发控制。
通常,连接到SQLite数据库的DSN
看起来像'sqlite:/path/to/file.sqlite'
。并且访问文件系统权限给出了对数据库的访问控制。对于内存数据库,DSN
将如下'sqlite::memory'
。