|
Параллелизм внутри курсора
|
|||
---|---|---|---|
#18+
Подскажите пожалуйста. Стоит задача обновить в таблице все значения в текстовых полях с null на пустоту ''. Решил использовать динамический sql. Получаю список всех текстовых колонок в таблице, и пробегаюсь курсором по этому списку , внутри курсора делая Код: sql 1. 2. 3.
но периодически возникают deadlock блокировки по которым видно, что одновременно идет update разных колонок в одной таблице, чего (по моей логике) быть не должно. Внимание вопрос, возможно ли что внутри курсора идет выполнение не последовательно, а параллельно и если да, то как этого избежать? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2020, 20:16 |
|
Параллелизм внутри курсора
|
|||
---|---|---|---|
#18+
Стейтменты в одной сессии всегда выполняются последовательно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2020, 20:19 |
|
Параллелизм внутри курсора
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич, спасибо, буду искать проблему в другом месте ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2020, 20:32 |
|
Параллелизм внутри курсора
|
|||
---|---|---|---|
#18+
lex452, если Вы обновляете ту же таблицу, что и просматриваете, то такое возможно. Откройте профайлер и запищите трассу событий deadlock c XML графом, увидите - откуда берутся взаимоблокировки. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2020, 00:37 |
|
Параллелизм внутри курсора
|
|||
---|---|---|---|
#18+
Владислав Колосов lex452, если Вы обновляете ту же таблицу, что и просматриваете, то такое возможно. Откройте профайлер и запищите трассу событий deadlock c XML графом, увидите - откуда берутся взаимоблокировки. Обновление идет в отдельном потоке, но теоретически эту таблицу могут просматривать в это же время правда с хинтом (nolock). А где связь между тем что одно обновление блокирует другое и одновременным просмотром, не понимаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2020, 11:23 |
|
|
start [/forum/topic.php?fid=46&msg=40018177&tid=1685407]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 285ms |
total: | 435ms |
0 / 0 |