Использовать кэшированные данные или транзакции при изменении содержимого БД в диалоговом окне? - PullRequest
0 голосов
/ 19 марта 2012

Некоторое время назад я прочитал мнение о том, как обрабатывать изменение содержимого базы данных через диалог (я подозреваю, что это было здесь, на SO, но я не смог найти соответствующий вопрос). Есть две возможности:

  1. начать транзакцию при отображении формы, зафиксировать ее, нажав OK, и откат, нажав Отмена.

  2. читать соответствующие данные из базы данных и кэшировать их, вносить необходимые изменения в кэшированные данные и затем обновлять базу данных этими данными, нажимая OK.

Я использую последний подход, так как оригинальный комментарий рекомендовал сделать это, но я не могу вспомнить причины этого. Я в настоящее время пересматриваю это, потому что кэширование всех данных кажется мне немного излишним. Есть мысли / ссылки на эту тему?

1 Ответ

0 голосов
/ 19 марта 2012

за ведение транзакции;если вы начинаете транзакцию, то вы блокируете эту строку.Если пользователь постоянно вносит какие-либо изменения, это блокирует других на длительный период времени.Однако, если ваше приложение требует такой определенной блокировки, это может быть хорошим путем.Но другой путь кеширования данных также может сработать;Я бы посоветовал изучить систему, в которой пользователь уведомляется об изменениях, внесенных при редактировании своих данных, или вы можете проверить данные еще раз, прежде чем разрешить обновление (предлагая пользователю перезагрузить свои данные и заново внести изменения, если они изменились).Я бы лично использовал ваш нынешний подход, потому что он позволяет большую параллельную работу, просто убедитесь, что вы имеете дело с изменениями, соответствующим образом основанными на потребностях вашего бизнеса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...