Скорость выпуска с sqlite и основными данными на iPhone - PullRequest
1 голос
/ 09 мая 2011

У меня более 40 000 записей в таблице sqlite db, и я использую базовые данные для моделирования данных.

при развертывании на устройстве (iPhone 3G) данные загружаются очень медленно (загрузка данных в просмотр таблицы занимает 5 секунд). Мне было интересно, если кто-нибудь есть какие-либо советы о том, как улучшить это. Я слышал об индексации данных, но не уверен, как это сделать.

спасибо за любую помощь.

1 Ответ

2 голосов
/ 09 мая 2011

... 40K записей разбиты на 70+ категории, самые любые табличные показал бы это 2000 записей. категории находятся в списке, который затем указывает на базу данных sqlite с помощью NSFetchedResultsController.

Это звучит как узкое место. Во-первых, все категории должны быть загружены в память сразу после считывания plist. В зависимости от того, насколько велики объекты / данные категории, они могут потреблять совсем немного памяти.

Что еще более важно, он предполагает, что ваша модель данных не настроена должным образом. Не должно быть необходимости в каких-либо значимых данных, внешних по отношению к базовой модели данных. Данные категории должны быть частью модели данных. Если вы используете много внешних данных для настройки контроллера выборочных результатов, то, вероятно, вы получите сложные, медленные предикаты для запроса выборки. Это поглотит все.

Хорошо сконфигурированные, Core Data могут обрабатывать очень большие и сложные наборы данных без каких-либо видимых усилий, потому что данные читаются только небольшими порциями.

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