Встречается на собеседованиях • сегодня

Что такое блокировка транзакций в БД

Блокировка транзакций (Locking) — механизм в СУБД для обеспечения согласованности данных при параллельном доступе. Блокировки предотвращают конфликты при одновременном изменении данных разными транзакциями.

Основные типы блокировок:

  • Shared (S) — чтение, другие транзакции могут читать, но не изменять
  • Exclusive (X) — запись, полная блокировка для других операций
  • Intent — сигнализирует о намерении заблокировать ресурс

Пример в SQL:

sql
BEGIN TRANSACTION;
-- Блокировка строки для обновления
SELECT * FROM accounts WHERE id = 1 FOR UPDATE;
-- Изменение данных
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
COMMIT;

Проблемы:

  • Взаимоблокировки (deadlocks)
  • Снижение производительности
  • Долгие транзакции могут блокировать систему

Оптимизация: уменьшение времени блокировок, изоляция только нужных данных, правильный уровень изоляции транзакций.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы