Базовые данные против Sqlite и производительности

Мне интересно, есть ли у кого-нибудь реальные цифры различий в производительности между старым приложением sqlite, которое было преобразовано в Core Data в 3.0 SDK.

Я подозреваю, что Core Data в любом случае просто использует sqlite и что это добавляет немного накладных расходов для удобства, но я решил спросить в любом случае.

2 ответа

Решение

Базовые данные сильно оптимизированы с точки зрения кэширования, отложенной загрузки и управления памятью.

Если вы используете его (с типом хранилища SQLite), особенно в сочетании с NSFetchedResultsController, вы должны получить лучшую производительность, чем вы могли бы получить с SQLite самостоятельно.

Apple, работает над тем, чтобы ядро ​​Data хорошо выполнять на iPhone. Мое приложение переключилось с SQLite с FMDB на Core Data, и теперь оно быстрее и стабильнее с меньшим количеством кода.

Базовые данные могут использовать sqllite - это зависит от разработчика, чтобы настроить - так что ваш подозреваемый правильно. На телефоне я бы предложил sqllite - лучшая идея.

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

Другие вопросы по тегам