Sobes.tech
Junior — Middle
72

SQL veritabanında karşılıklı kilitlenmenin ne olduğunu açıklayabilir misiniz?

Sorulan şirketler
КубикТех

AI'dan gelen yanıt

sobes.tech yapay zeka

Взаимная блокировка (deadlock) в базе данных SQL — это ситуация, когда два или более транзакций блокируют ресурсы, которые нужны друг другу для продолжения работы, и ни одна из них не может продолжить выполнение.

Пример: Транзакция A захватила блокировку на таблице 1 и ждёт блокировку на таблице 2, а транзакция B захватила блокировку на таблице 2 и ждёт блокировку на таблице 1. В итоге обе транзакции «зависают».

Чтобы избежать взаимных блокировок, обычно применяют:

  • упорядочивание доступа к ресурсам;
  • таймауты на ожидание блокировок;
  • использование уровней изоляции транзакций с учётом возможных блокировок.