У меня плохое понимание. Обозначьте понятия отношений сущностей. Предположим, что у меня есть сущности User и UsersAction.Задавайте, эффективные отношения. Ref <> vs для хранения идентификационных и дублирующих полей
class User{
String nick;
}
class UsersAction{
Date actionDate;
}
Сейчас в вайя-конце приложении, которое я хочу, чтобы загрузить много UsersActions и отобразить его вместе с соответствующим ник пользователя. Я знаком с двумя понятиями, которые касаются этого:
Использование Ref <>,
Я могу поместить @Load Ref в UsersAction, поэтому он создаст связь между этим entites. Позже, при загрузке Действия Пользователя, Objectify загрузит надлежащего Пользователя.
class User{
String nick;
}
class UsersAction{
@Load Ref<User> user;
Date actionDate;
}
магазин Id и дублировать ник в UsersAction:
Я также могу Id магазин пользователя в UsersAction и дублировать ник пользователя при сохранении UsersAction.
class User{
String nick;
}
class UsersAction{
Long usersId;
String usersNick;
Date actionDate;
}
При использовании реф <>, насколько я понимаю, объективировать загрузит все необходимые UsersActions, то все соответствующие пользователи. При использовании дублирования Objectify нужно будет загружать UserActions, и все данные будут там. Теперь, мой вопрос. Есть ли существенная разница в производительности, между этими подходами? Эффективность - мой приоритет, но второе решение кажется уродливым и опасным для меня, поскольку оно вызывает дублирование данных, и когда Пользователь меняет свой ник, мне также нужно обновить его действия.
Im, обсуждая, что решения с моим другом и он остается, что денормализация более эффективна, beacause Ref приведет к дополнительной нагрузке. Но я думаю, поскольку я помещал эти два объекта в одну группу сущностей, а Пользователь загружался ключом, это не повлияет на производительность. Я прав? – KrzysztofW
Это, вероятно, не будет иметь заметного влияния, поскольку родительский и дочерний объекты загружаются параллельно. Но это преждевременная оптимизация; не беспокойтесь об этом! – stickfigure