2012-04-07 2 views
0

В моем приложении я использую статическую базу данных для хранения всех округов и областей переписи с государствами и территориями США. Это обновляется правительством каждые 10 лет. Я использую его для поиска в пределах графства, но есть несколько графств с одним и тем же именем, поэтому сначала нужно выбрать штат или территорию, затем они выбирают графство внутри. Мой вопрос в том, что в настоящее время у меня есть эти данные в базе данных SQLite, является ли это наиболее эффективным или я должен использовать основные данные? Ther 3600 строк с 4 пунктами на каждой строке. Я просто хочу, чтобы это был самый эффективный способ хранения и чтения данных. Письмо не будет написано. Так что я должен выбрать, я открыт для других, чем те, о которых я говорил.Какой тип базы данных лучше всего

ответ

0

для вас случай:

основные данные:

более гибкий

  • (+) это ORM (большой плюс Таким образом, вы можете добавить методы к моделям данных или магазина целом! объект-деревья с одной командой)
  • (+) лучше интегрирован в XCode
  • (+) может легко переносить миграцию схемы данных
  • (-) производительность (в вашем случае, 3600records только одна таблица)

SQLite:

  • (+) Производительность
  • (-) только C привязок (или вам нужен )

и не забывайте, что CoreData - это еще один слой на вершине sqlite. Итак, сравнивать эти вещи не так-то просто.

+0

Консолидация только связями C поскользнулась. Спасибо за плюсы и минусы – Crask422

0

Основные данные не являются базой данных, это граф объектной модели, основанный на базе данных, которая может (или не) быть SQLite.

Использование CoreData потребует перестройки всех ваших запросов в вашем приложении. Вы используете довольно маленькую и статичную базу данных, которая, я думаю, работает нормально. Почему вы хотите изменить? У вашего приложения возникают некоторые проблемы с производительностью (в этом случае настройте индекс в своих столбцах)? Независимо от вашего выбора, я готов поспорить, что вы не заметите каких-либо улучшений от базы данных к другой с помощью такой простой и небольшой базы данных.

Вы можете посмотреть this answer о CoreData.

+0

У меня нет никаких проблем, но это не значит, что мой выбор был правильным или наиболее эффективным. Я просто хочу, чтобы он был чистым и думал, что я получу некоторые мнения. Нет проблем с изменением кодировки, просто хотите быть эффективными, когда Apple ее рассмотрит. – Crask422

+0

Apple не смотрит на ваш исходный код, и они не склонны смотреть на детали низкого уровня, например, используете ли вы SQLite или Core Data. Они не дадут вам дополнительного кредита для написания дополнительного быстрого кода. Они больше заботятся о том, что видят конечные пользователи. –