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

Что такое блокировка в БД

Блокировка в БД — это механизм, который предотвращает одновременное изменение одних и тех же данных разными транзакциями, обеспечивая целостность данных.

Типы блокировок:

  1. Shared (S) — чтение, другие транзакции могут читать, но не изменять.
  2. Exclusive (X) — запись, другие транзакции не могут ни читать, ни изменять.
  3. Intent (IS, IX) — указывает намерение заблокировать часть данных.

Пример (PostgreSQL):

sql
BEGIN;
-- Блокировка строки для изменения
SELECT * FROM users WHERE id = 1 FOR UPDATE;
-- Другие транзакции ждут разблокировки
UPDATE users SET balance = balance + 100 WHERE id = 1;
COMMIT;

Проблемы:

  • Deadlock — взаимоблокировка транзакций.
  • Блокировка таблицы — может снижать производительность.

Используйте с осторожностью, минимизируя время удержания блокировок.

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

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

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

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