Использование родительской сущности в моделях CoreData

Сегодня я начал использовать наследование сущностей с основными данными, есть ли у кого-нибудь опыт работы с этой функцией? Я вижу, что все мои объекты, у которых есть родительский объект, теперь преобразованы в одну большую таблицу при открытии файла sqlite. Я беспокоюсь о производительности и блокировках таблиц. Кто-нибудь, пожалуйста, поделитесь своим опытом?


person the Reverend    schedule 30.01.2012    source источник


Ответы (2)


Преподобный,

Хотя ваша схема может значительно повлиять на вашу производительность, добавление столбцов к строкам таблицы не является проблемой для вашей производительности. Обход сложных отношений и управление большими BLOB-объектами — это ваша проблема с производительностью.

Да, я использую наследование сущностей. Да, это быстро. Да, это позволило мне сделать вменяемую модель. Тем не менее, традиционная мудрость ООП в наши дни состоит в том, чтобы ограничить глубину ваших иерархий наследования. Вероятно, это хорошая идея при использовании Core Data. Композиция объектов/сущностей — ваш друг.

Андрей

person adonoho    schedule 31.01.2012

Ваши опасения оправданы. В зависимости от количества сущностей и полей производительность может заметно снизиться, если у вас более нескольких тысяч управляемых объектов.

У других тоже была эта проблема: Производительность основных данных с единственным родительским объектом

person Andreas Ley    schedule 09.11.2012