Вставка запросов может только вызвать проблемы параллелизма с выбранными запросами? - PullRequest
0 голосов
/ 28 июля 2010

Это только для моего собственного понимания того, как работают проблемы параллелизма. Допустим, у меня есть оператор вставки, который выполняется одновременно с запросом выбора. Если оператор вставки происходит во время выполнения запроса select, будет ли запрос select отображать конфликт, поскольку число строк для выбора изменилось?

Или конфликты параллелизма могут возникнуть только при редактировании строк, что делает операторы вставки совершенно безвредными (с точки зрения конфликтов параллелизма)?

1 Ответ

0 голосов
/ 28 июля 2010

Статья в Википедии об этом довольно приличная:

Контроль параллелизма

Но в основном проблемы параллелизма случаются каждый раз, когда данные, которые использует транзакция, изменяются другой транзакцией.

Итак, допустим, я получил первые 100 строк из базы данных.Кто-то другой вносит изменения в строку 5. Затем я пытаюсь изменить строку 5, основываясь на ее прочтении.

Или случай вставки.

Допустим, я вытащил всех детей зав школу, и хотите выяснить, сколько из них имеют имена, начинающиеся с A. Затем кто-то добавляет еще 10 детей, начинающихся с A. Это проблема параллелизма.

У вас могут быть плохие вещи из вставки, которая вызывает что-то, что происходитчто вы не ожидали быть в базе данных.

Например:

Джон имеет остаток задолженности в 1000 долларов, он приходит в онлайн, чтобы оплатить свой счет, в течение этого времени происходит транзакция, котораязаставляет его задолжать еще 100 долларов (вставить) (всего 1100 долларов).Он полностью платит свои 1000 долларов, что вызывает что-то, чтобы установить все его задолженные остатки на 0 (он заплатил все те, что мы получили, поэтому мы говорим ааа, давайте просто установим все на 0).Эта транзакция в 100 долларов теперь очищена без фактической оплаты.

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