[ Вопрос дня ] Повышает ли инструкция языка запросов 1С “ДЛЯ ИЗМЕНЕНИЯ” уровень изоляции транзакции с READ COMMITTED до REPEATABLE READ на уровне SQL сервера?

Доброго дня, коллеги!
При работе с конструкцией языка запросов 1С “ДЛЯ ИЗМЕНЕНИЯ” следует понимать особенности блокировок регистров при работе с информационной базой в варианте клиент-сервер.

Разбираем вопрос от слушателя курса Разработка и оптимизация запросов в 1С:Предприятие 8.3 :)

Вопрос

Правильно я понял, что инструкция запроса “ДЛЯ ИЗМЕНЕНИЯ” повышает уровень изоляции транзакции с READ COMMITTED до REPEATABLE READ на уровне SQL сервера?

Ответ

Добрый день! Не совсем. Конструкция ДЛЯ ИЗМЕНЕНИЯ используется только в режиме автоматических блокировок. В этом режиме применяются уровни изоляции транзакций REPEATABLE READ (для объектных сущностей – справочники, документы и т.д.) и SERIALIZABLE (для необъектных сущностей – регистры) – см. статью на ИТС Управление блокировками данных в транзакции.

При использовании в тексте запроса конструкции ДЛЯ ИЗМЕНЕНИЯ в фактически исполняемом запросе на уровне MS SQL Server появится подсказка (хинт) UPDLOCK:

SELECT
...
FROM
_Document1 T1 WITH(REPEATABLEREAD, UPDLOCK)

P.S.

Понимать, как работают запросы и уметь их строить - обязательный навык для всех, кто дорабатывает и внедряет 1С.

После курса Вы сможете:

  • Строить сложные запросы с несколькими источниками данных
  • Уверенно задействовать вложенные запросы и временные таблицы
  • Использовать встроенный язык для обработки результатов запроса
  • Учитывать особенности соединений и объединений нескольких таблиц.
  • Разрабатывать запросы на уровне задач Аттестации 1С:Специалист по платформе.
Программа, стоимость, условия и регистрация в группу: «Запросы в 1С 8.3, Базовый курс (с нуля до уровня Специалист по платформе)» Для всех, кто внедряет и дорабатывает 1С.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

Я подтверждаю, что ознакомлен(а) с Пользовательским соглашением, принимаю его условия и даю свое согласие на обработку моих персональных данных.

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.