Сегодня я начал использовать наследование сущностей с основными данными, есть ли у кого-нибудь опыт работы с этой функцией? Я вижу, что все мои объекты, у которых есть родительский объект, теперь преобразованы в одну большую таблицу при открытии файла sqlite. Я беспокоюсь о производительности и блокировках таблиц. Кто-нибудь, пожалуйста, поделитесь своим опытом?
Использование родительской сущности в моделях CoreData
Ответы (2)
Преподобный,
Хотя ваша схема может значительно повлиять на вашу производительность, добавление столбцов к строкам таблицы не является проблемой для вашей производительности. Обход сложных отношений и управление большими BLOB-объектами — это ваша проблема с производительностью.
Да, я использую наследование сущностей. Да, это быстро. Да, это позволило мне сделать вменяемую модель. Тем не менее, традиционная мудрость ООП в наши дни состоит в том, чтобы ограничить глубину ваших иерархий наследования. Вероятно, это хорошая идея при использовании Core Data. Композиция объектов/сущностей — ваш друг.
Андрей
Ваши опасения оправданы. В зависимости от количества сущностей и полей производительность может заметно снизиться, если у вас более нескольких тысяч управляемых объектов.
У других тоже была эта проблема: Производительность основных данных с единственным родительским объектом