Сохранение записей в coreData занимает слишком много времени, как я могу вставить их быстрее? - PullRequest
1 голос
/ 08 августа 2011

Я ввожу в свою базу данных coreData некоторые объекты.

Проблема в том, что он довольно медленный (8-10 секунд), хотя я представляю только 50 записей.

Я представляю эти записи по отдельности, может ли быть быстрее вставка, если я представлю их все сразу? Если да, как я могу это сделать (вставить массив в coreData)?;

Любые другие советы по быстрой вставке в coreData приветствуются :)

Ответы [ 2 ]

1 голос
/ 09 августа 2011

Несколько секунд только для 50 сохраненных объектов довольно странно. Запустите на нем инструменты и посмотрите, где находится горлышко бутылки.

Если возможно, разбейте ваш код Core Data на тест, который можно запустить на цели Mac OS X, поскольку у Instrumemts есть специальный и намного лучший шаблон только для профиля Core Data для Mac OS X (Сделать Обязательно отправьте запрос об ошибке на http://bugreport.apple.com, чтобы также использовать шаблон Core Data в приложениях iOS) .

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

1 голос
/ 08 августа 2011

Я бы использовал Instruments и запустил инструмент Profiler поверх операции вставки и посмотрел, что на самом деле замедляет его. Я предполагаю, что вы выполняете какую-то десериализацию или синтаксический анализ при вставке объекта или одно из других типичных замедлений операций с данными. Перед оптимизацией убедитесь, что у вас выявлена ​​проблема.

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