72 похожих чатов

Всем привет, кто может подсказать есть запроса вида: UPDATE FactorValue

SET Value = t.Value
From #tempFactorValue t

и второй такой же запрос но уже внутри транзакции

BEGIN TRAN

UPDATE FactorValue
SET Value = t.Value
From #tempFactorValue t

COMMIT TRAN

Накладывает ли тарнказция дополнительные несовместмые блокировки UIX и IU, что может послужить возникновению deadlock?

5 ответов

9 просмотров

Да , накладывают.

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

в этом случае блокировка в обеих транзакциях с большой вероятностю поставится на таблицу. значит может произойти или отвал по таймауту одной из транзакция (если второй запрос оказался больше таймаута) или выполнится сперва один, потом второй (который пока выполнялся первый ожидал освобождения блокировки) можно попробовать получить таким запросом блокировку.. если попытаться добавить в оба запроса разные фильтры, которые на выходе дадут или одинаковые записи.. или еще лучше одинаковые страницы (pages) тогда думаю возможен дедлок. блокировки на таблицу не будет. будут лочится разные страницы\строки (обеих запросов паралельно) . и в какойто момет окажется что один запрос ожидает освобождения блокировки на запись\страницу залоченный вторым.. а второй так же ожидает запись\страницу залоченный первым но если честно надо играться, пробовать.

Тут , кстати, на тему об изоляции и блокировках, у тебя наверняка фиговые транзакции. Поскольку всё заваливается во временную таблицу и потом -- без никаких проверок -- обратно, в главную.

А СУБД какая у тебя, кстати?

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

Обсуждают сегодня

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта