Есть вещи, которые вы можете сделать, чтобы улучшить производительность поиска текста в базах данных sqlite. Хотя базовые данные абстрагируют вас от основного хранилища, было бы полезно оценить, что происходит, когда резервное копирование вашего хранилища выполняется с помощью sqlite.
Если мы предполагаем, что вы выполняете поиск по этим полям по подстроке, есть способы, которые вы можете сделать, чтобы улучшить производительность поиска. Apple рекомендует использовать производные свойства. Это означает сохранение нормализованной версии вашего свойства в вашей модели, которая используется для поиска. Производное свойство должно быть сделано так, чтобы его можно было проиндексировать. Затем вы выражаете свой поиск в терминах этого производного свойства, используя бинарные операторы> <= и т. Д. </p>
Я обнаружил, что в результате этого наш поиск сократился с 1 секунды до 100 мс.
Чтобы прояснить ситуацию, я бы предложил посмотреть пример АЦП http://developer.apple.com/mac/library/samplecode/DerivedProperty/