Читая этот вопрос есть несколько упоминаний о оптимистичным параллелизмом является более дорогостоящим при разрешении из-за ABORTING сделок:Требуется транзакция с оптимистичным параллелизмом?
Optimistic vs. Pessimistic locking
Если вы выполняете один оператор обновления, как правило, вы бы ремесло, где положение, чтобы обеспечить не обновление происходит, если это конфликт. То есть вы должны включить исходное состояние строки в предложение where. Если кто-то другой отредактировал строку и возник конфликт, оператор обновления просто обновит нулевые записи из-за предложения where. Вам не нужно было бы прервать любую транзакцию, потому что ваше обновление не было сделано. Вы просто проверите количество строк, измененных запросом (обычно один или ноль), и если он изменит ноль, вы представите пользователю решение о разрешении.
Если у вас есть несколько операций, которые должны быть атомными вместе с обновлением, я не думаю, что вы должны были бы транзакции для одного обновления с где положением, чтобы поддержать оптимистический параллелизм. Но, возможно, есть нюанс, который мне не хватает.
Вам нужна транзакция для одного оператора обновления с правильно сформированным выбором where where на основе исходного состояния строки (для оптимистического параллелизма)?
Я немного педантичен, но я думаю, что «оптимистичный параллелизм ничего не гарантирует» немного силен. Это гарантирует, что если между шагами № 1 и №4 будет одновременное редактирование другим пользователем, оно будет обнаружено. ** Пессимистично: ** * гарантирует, что никакое другое промежуточное редактирование не произойдет *, ** Оптимистично: ** * гарантирует, что промежуточные изменения будут обнаружены, а вторичные изменения завершатся неудачно (требуется явное разрешение). * Спасибо за подтверждение моего понимания роли транзакции , – AaronLS
Вы правы, это было немного сильнее, чем я предполагал. Именно так, по моему опыту, модель параллелизма играет меньшую роль в управлении обновлениями, чем мы обычно ожидаем. Кроме того, отличное определение Pessimistic vs Optimistic в комментарии. –