SA Шпаргалка

Все ответы в 2 клика

Продвинутый

Что такое Deadlock (Взаимоблокировка) в БД?

Deadlock — это ситуация, когда две транзакции бесконечно ждут друг друга, чтобы освободить заблокированные ресурсы.

Пример:
1. Транзакция А блокирует Таблицу 1.
2. Транзакция Б блокирует Таблицу 2.
3. Транзакция А пытается обновить Таблицу 2 (ждет Б).
4. Транзакция Б пытается обновить Таблицу 1 (ждет А).

✅ Как решает БД: СУБД (например, PostgreSQL) обнаруживает дедлок по таймауту, принудительно "убивает" одну из транзакций (откатывает ее) и выдает ошибку, позволяя второй завершиться.

Сложная тема? Разберём на мок-интервьюЗаписаться на менторство →

Другие вопросы темы «Блокировки»

Ещё вопросы раздела «SQL и БД»

Все вопросы раздела «SQL и БД»