Вы определенно хотите набор READ_COMMITTED_SNAPSHOT к на, который это не по умолчанию. Это дает Вам семантику MVCC. Это - то же самое использование Oracle по умолчанию. Наличие базы данных MVCC так невероятно полезно, не используя каждый безумен. Это позволяет Вам выполнять следующую внутреннюю часть транзакция:
ПОЛЬЗОВАТЕЛЬСКИЙ Набор Обновления FirstName = 'foobar';//решают спать в течение года.
между тем, не фиксируя вышеупомянутое, все могут продолжить выбирать из той таблицы очень хорошо. Если Вы не будете знакомы с MVCC, Вы будете потрясены, что Вы когда-либо смогли жить без него. Серьезно.
Проверьте сбой в Core Data:
Используя ошибки, если вы извлекаете один объект Employee из постоянного хранилища, его отношения между менеджером, отделом и отчетами изначально устанавливаются представлены неисправностями. Хотя сбой является экземпляром класса Department, он еще не реализован - ни одна из его постоянных переменных экземпляра еще не была установлена.
Если вы отправите объекту Department сообщение, чтобы получить, скажем, его имя, тогда возникает сбой - и в этой ситуации Core Data выполняет выборку для вас, чтобы получить все атрибуты объекта.
Из «Руководства по программированию основных данных» извлеченные свойства представляют собой «слабые односторонние отношения». Они просто позволяют вам определять значение свойства с помощью предиката выборки, а не моделировать его напрямую, как отношения.
Одно из основных отличий заключается в том, что извлекаемые свойства не являются живыми или динамическими, как прямые отношения. Вы должны явно обновлять извлеченные свойства, вручную обновляя объект, содержащий извлеченное свойство, когда в графе объекта происходят изменения, которые повлияют на значение извлеченного свойства.
Я очень рекомендую Core Data , пользователя Marcus Zarra. Я взял его в руки несколько месяцев назад, и хотя предполагается, что у вас есть некоторый опыт работы с Objective-C, он вполне доступен и для новичков.