@vi0

Важен порядок элементов в параметре типа список в SELECT чтобы избежать дедлока?

Задаете ли вы порядок параметра типа список чтобы избежать дедлоков в выборке с блокировкой? Например в постгрес.
Допускаете ли вы разный порядок в разных сессиях?

Сессия 1:
select * from table1 
where code in (1, 2, 3)
for update

Сессия 2:
select * from table1 
where code in (3, 2, 1) 
for update
  • Вопрос задан
  • 202 просмотра
Пригласить эксперта
Ответы на вопрос 2
AshBlade
@AshBlade
Просто хочу быть счастливым
Да, в этом случае может быть дедлок. Общая рекомендация - сортировать такие списки переменных (еще и = ANY или in values).
Ответ написан
@galaxy
Тут ORDER BY code может помочь, причем сортировка должна быть в одном и том же порядке в разных сессиях.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы