Базовые данные - это, в общем, хороший способ обработки больших объемов данных, особенно со сложными отношениями.
В этом конкретном случае, однако, вы можете стоять на плечах гигантов.NetNewsWire - это радар для iOS RSS (который использует google reader), он некоторое время использовал Core Data и отказался от него.Тогдашний автор NewNewsWire был достаточно любезен, чтобы написать, почему в http://inessential.com/2010/02/26/on_switching_away_from_core_data
я не думаю, что что-то из этого изменилось бы, поэтому, если ваш читатель RSS не сильно отличается от NetNewsWire, он будет быстрее, если онизбегает Core Data и использует sqlite (напрямую или через какую-то инфраструктуру, такую как FMDB).Я также готов поспорить, что вы будете «быстрее выходить на рынок», если будете использовать Core Data и бьете по производительности.
(теперь фокус вашей программы RSS может сильно отличаться, и поэтому, возможно, вы никогда не будетенужно сделать эквивалент update newsItems set read = 1 where
для 10000 элементов или любых других вещей, где Core Data мешает больше, чем помогает - если это так, во что бы то ни стало, запустите Core Data)
ПРИМЕЧАНИЕ: все изменилосьнемного, так как этот ответ был написан.iOS 8 добавила некоторую поддержку массовых операторов, которые обходят некоторые из них, см., например, NSBatchUpdateRequest.У меня нет прямого опыта с этим, и вам нужно было бы отказаться от iOS 7 и предыдущей поддержки (или написать код дважды, и хорошо работать только для больших наборов данных на iOS 8+).Также применимы все предупреждения об использовании «новых» вещей («не так хорошо проверено», «не так много мест, к которым можно обратиться за помощью»), конечно же, с учетом того, что оно идеально подходит для вашей проблемы, и Oooo Shiny!