Я работаю над приложением для Android-приложений.
Я использую MBTiles для хранения своих плит для просмотра в автономном режиме. Все работает отлично, но производительность значительно ухудшается по мере роста размера db. Плитки различаются по размеру, но обычно имеют размер около 6 килобайт и хранятся как капли. Я реплицировал схему, используемую Mapbox, и другие с индексами и всеми. В настоящее время база данных имеет размер около 40 мб, и чтение занимает около 5 секунд. До сих пор я провел немало исследований и ничего не нашел, кроме того, что он должен работать. См. this SQLite page.
Что я делаю неправильно? Это ограничение Android?MBTiles performance
ответ
Найденный! Табличные индексы никогда не применялись. CREATE SQL, отправленный через execSql, содержал два утверждения, разделенных точкой с запятой; один для создания таблицы и другой для создания связанного индекса. Очевидно, что только первый (CREATE TABLE) оператор фактически был выполнен, поэтому второй (CREATE INDEX) оператор никогда не выполнялся. Я смог найти это, используя утилиту sqlite3 в оболочке adb. Запуск карты .indices ничего не возвращал. После изменения скриптов CREATE для создания индексов VOILA! Супер-Дюпер быстрые запросы!
Ребята в Mapbox, где достаточно, чтобы поделиться своей схемой MBTiles. https://github.com/mapbox/node-mbtiles/blob/master/lib/schema.sql – whyvez
- 1. Экспорт MBTiles из mapbox
- 2. .MBTiles from mapbox studio
- 3. Как создать файл .mbtiles?
- 4. объединение двух файлов mbtiles
- 5. Оффлайн google maps с .mbtiles
- 6. Как импортировать MBTiles в TileMill?
- 7. RethinkDB update performance performance
- 8. C# out performance performance
- 9. SQL where performance performance
- 10. Jameter Performance Testing DataBase Performance
- 11. 2dsphere vs 2d performance performance
- 12. ActiveMQ Mirrored Performance Performance Penalty
- 13. JOIN on concatenated performance performance
- 14. buildConfig.groovy compile/performance dependency performance
- 15. OSMdroid и MBTiles: получить информацию о зоне
- 16. Как разобрать и загрузить плитки из .mbtiles?
- 17. Использование MBTiles из онлайн-хранилища с OSMDroid
- 18. не удается установить плагин mbtiles в geoserver
- 19. Извлечь файл .mbtiles в google map
- 20. OSMdroid Загрузка нескольких автономных MBTIles через ListView
- 21. Использование MBTiles в автономном приложении iOS
- 22. Mapbox Android SDK с онлайн-пользовательскими MBTiles
- 23. Как запустить VACUUM в базе данных MBTiles?
- 24. Ошибка OSMdroid с использованием базы данных .mbtiles
- 25. Экспорт плитки в mbtiles размер данных
- 26. Есть ли ограничение по размеру файла MBTiles?
- 27. Извлечение координат и метаданных из файла mbtiles
- 28. Плитки в неправильной проекции? (mbtiles mbutil openlayers.tms)
- 29. if/else vs virtual function: performance performance
- 30. if else vs performance performance в java
* Что * считывает 5 секунд? Одна плитка? Все плитки? Какие индексы у вас есть? –
Получение одной плитки из базы данных занимает 5 секунд. Да, добавлены индексы. – whyvez
Реплицированные сценарии создания здесь: https://github.com/mapbox/mbutil/blob/master/mbutil/util.py – whyvez