我正在开发一个Android地图应用程序。
我正在使用MBTiles存储我的磁贴以供离线查看。所有这些都很好用,但随着db大小的增加,性能会显著下降。瓦片的大小各不相同,但通常大小约为6KB,并以blobs的形式存储。我已经复制了Mapbox和其他数据库使用的模式以及索引和所有内容。数据库目前的大小约为40MB,读取时间约为5秒。到目前为止,我已经做了相当多的研究,除了它应该可以工作之外,什么也没有发现。参见this SQLite page。
我做错了什么?这是Android的限制吗?
发布于 2013-04-26 01:28:10
找到了!表索引从未被应用过。通过execSql发送的CREATE SQL包含两条用分号分隔的语句;一条用于创建表,另一条用于创建关联的索引。显然,实际上只执行了第一个(CREATE TABLE)语句,所以第二个(CREATE INDEX)语句从未执行过。我能够通过使用adb shell中的sqlite3工具找到这一点。运行.indices地图未返回任何内容。在更改了创建脚本以实际创建索引后,瞧!超级Duper快速查询!
https://stackoverflow.com/questions/16206439
复制相似问题