我正在開發Android地圖應用程序。
我正在使用MBTiles來存儲我的瓷磚以供離線查看。所有的工作都很棒,但隨着db的增長,性能會大大降低。瓷磚的大小各不相同,但通常大小約爲6 kb,並以斑點形式存儲。我複製了Mapbox和其他人使用的模式,索引和全部。該數據庫目前大小約爲40 MB,讀取時間約爲5秒。到目前爲止,我已經做了相當多的研究,除了應該起作用之外,沒有發現任何東西。見this SQLite page。
我在做什麼錯?這是Android的限制嗎?MBTiles性能
1
A
回答
2
找到了!表格索引從未得到應用。通過execSql發送的CREATE SQL包含兩個由分號分隔的語句;一個用於創建表格,另一個用於創建關聯的索引。顯然只有第一個(CREATE TABLE)語句實際得到執行,所以第二個(CREATE INDEX)語句從未執行過。我可以通過在adb shell中使用sqlite3 util來找到這一點。運行.indices映射不會返回任何內容。改變CREATE腳本以實際創建索引VOILA!超級快速查詢!
+1
在Mapbox上的傢伙們有足夠的分享他們的MBTiles模式。 https://github.com/mapbox/node-mbtiles/blob/master/lib/schema.sql – whyvez 2013-04-25 17:57:06
相關問題
- 1. 如何創建.mbtiles文件?
- 2. MBTilesOsmDroidExample未能從資產文件夾加載MBTiles文件
- 3. MBTiles文件是否有大小限制?
- 4. MapBox示例拋出錯誤 - mbtiles
- 5. Mapbox Android SDK與在線定製MBTiles
- 6. Tippecanoe生成的mbtiles座標不正確
- 7. 在Android項目中顯示Tilemills mbtiles的代碼
- 8. 脫機地理編碼使用MBTiles與矢量瓦片
- 9. OSMDroid離線MBTiles邊界框經緯度在運行時
- 10. 如何將MbTiles渲染到Mapbox Android SDK中的mapView中
- 11. 從OSMDroid的在線存儲中使用MBTiles
- 12. OSMdroid通過ListView加載多個離線MBTIles
- 13. CALayer性能與UIImageView性能
- 14. 性能(性能分析)數據的性能記錄
- 15. 性能
- 16. 性能
- 17. 性能
- 18. javascript性能功能
- 19. 性能計數器的性能如何?
- 20. 性能測試與性能分析
- 21. 性能分析方法性能
- 22. 多線程性能和性能測試
- 23. 了Itemplate性能不能作爲屬性
- 24. Netty數據流性能+ websocket性能
- 25. Java調用性能和搜索性能
- 26. 唯一性驗證性能
- 27. 配置性能/特性
- 28. 屬性和元素性能
- 29. 性LevelDB建築及性能
- 30. 提高屬性樹性能
*什麼*讀取需要5秒?一塊瓷磚?所有瓷磚?你有什麼指數? – 2013-04-25 09:05:16
從數據庫中檢索一個單獨的圖塊需要5秒鐘的時間。是索引已被添加。 – whyvez 2013-04-25 13:19:42
從這裏複製創建腳本:https://github.com/mapbox/mbutil/blob/master/mbutil/util.py – whyvez 2013-04-25 13:38:58