我想知道更多关于什么样的缓存SQLite执行和Android如何配置缓存参数(我读到这些可以通过编译时的pragmas控制)。有没有人对此有更深入的了解,或者甚至依赖SQLite作为有效的缓存来缓存从网络获得的数据?
我知道SQLite默认情况下在内存中缓存页面。是否也有查询缓存,是否有任何方法从Android客户端应用程序甚至调整这些参数?
我唯一能找到的是sqliteddatabase# setMaxSqlCacheSize,但这只适用于准备好的语句。
使用PRAGMA cache_size=xx设置页面缓存。该数字以页面为单位,默认页面大小为1024字节。这与其他平台上的SQLite没有什么不同。您还应该看看SQLightning,它使用LMDB作为其存储引擎,并且不需要缓存调优。
https://gitorious.org/mdb/sqlightning/source/5a70c78cc0c7b9393ff1373905bf1a852cfab3bc: