У меня есть таблица базы данных Sqlite, имеющая 200K + записей. Размер базы данных составляет 25 + МБ. Я выполнил индексирование по полям поиска.
Для поиска определенного слова с помощью поиска схожим образом (SELECT DISTINCT id, имя ОТ tbl, ГДЕ имя, например, «нечто%») в SQLiteManager и в стимуляторе iphone требуется 0,2–0,3 секунды, а в устройстве - чуть больше. Это нормально.
Я просто хотел узнать, есть ли какая-либо другая БД, кроме sqlite (я видел, что некоторые приложения используют файл .pdb), которая сделает это намного быстрее. Или есть ли другой способ обработки больших баз данных. (например, разделение больших таблиц на несколько таблиц и т. д.)
Потому что на следующем шаге мне нужно выполнить сложные поиски. На самом деле я сделал сложный SQL с объединением двух таблиц, и время обработки намного выше (2 - 3 секунды в симуляторе и более 4-5 секунд в устройстве)
Дополнение:
Итак, я решил использовать core-data. Но тут возникает следующий вопрос. Предварительное заполнение основных данных. У меня есть поиск по нескольким ссылкам в stackoverflow и в других местах, и даже в образце приложения CoreDataBook от Apple (http://developer.apple.com/library/ios/#samplecode/CoreDataBooks/), но все говорят, что скопируйте его с одного носителя на данные ядра (xml, CSV SQLite на данные ядра), но в В моем случае у меня есть база данных 25+ МБ. Если я это сделаю, то это будет 25 + x2 МБ. Есть ли способ, которым я могу просто заполнить основные данные вручную?
Хорошо, заполнял базу данных ядра базы данных вручную, но результат тот же. (есть некоторое улучшение, но этого недостаточно). Итак, есть ли у вас идеи по обработке этой огромной базы данных в приложении для iPhone с более быстрыми результатами?