Я заметил, что установка PK не обязательна в Realm и просто может быть опущена. Но в документации указано, что:
Индексы автоматически создаются для свойств первичного ключа.
И я хотел бы прояснить некоторые вопросы:
1) Какое значение по умолчанию для PK определено Realm, если я не назначаю его самостоятельно. Это хэш или что-то еще? (Если я не устанавливаю PK и вызываю [MyRealmObject primaryKey]
, он возвращает nil
)
2) Если этот неявный PK индексируется по умолчанию? Должен ли я беспокоиться об этом, потому что, если он не индексируется, значит ли это, что он влияет на общую производительность этого объекта (например, выборку объектов)?
3) Является ли хорошей практикой каждый раз определять PK для каждого подкласса RLMObject
, или это не обязательно для Realm и просто может полагаться на внутреннюю реализацию, определенную самим Realm?