Управление большими базами данных на устройствах iPhone: простое кодирование sqlite3 или CoreData? - PullRequest
2 голосов
/ 26 июля 2010

Мне нужно управлять таблицей в большой базе данных с более чем 20 КБ записей (размер БД 25 МБ).Я использую стандартные запросы, такие как SELECT \ INSERT и т. Д. Программно с использованием среды SQLITE.Но приложение на устройстве работает очень медленно.Когда я нажимаю на значок, Default.png останавливается на 10-20 секунд, и приложение вылетает.Когда я запускаю его на симуляторе (и когда я строю на устройстве из XCode), приложение не падает, но оно загружается слишком много времени и очень медленно меняет представления.

Это проблема SQLITE?Может ли SQLITE управлять большими базами данных?Если нет, я думаю, что мне придется перейти на CoreData APi.Если да, я должен исследовать ошибки кодирования ...

Любая помощь будет оценена.Спасибо!

Ответы [ 3 ]

1 голос
/ 26 июля 2010

Пусть coredata будет вашим другом, у меня есть приложение с тройным набором данных, и оно работает так быстро, как вам нравится.

0 голосов
/ 28 июля 2010

Я не хочу испортить вашу дату, Кевин, но вы пробовали либо массово вставить (предполагая, что это возможно на iPhone), либо вложить свои вставки в транзакцию? Выполнение каждой вставки атомарно будет означать, что каждая транзакция, и там будет убыток (пересчитайте btrees каждого индекса каждые isert и т. Д.).

0 голосов
/ 26 июля 2010

Тот факт, что ваше приложение вылетает при запуске и запускается медленно, заставляет меня думать, что вам не хватает памяти. Вы случайно загружаете файл базы данных в память?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...