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

Какие знаешь блокировки в базе данных

В базах данных есть несколько типов блокировок:

  1. Shared (S) - позволяет читать данные, но запрещает изменение. Несколько транзакций могут одновременно удерживать shared-блокировку.

  2. Exclusive (X) - запрещает и чтение, и изменение данных. Только одна транзакция может удерживать exclusive-блокировку.

  1. Update (U) - промежуточная блокировка перед обновлением, которая позже может быть повышена до exclusive.

  2. Intent (IS, IX, IU) - указывают намерение установить блокировку на более низком уровне (например, на строке).

Пример:

sql
-- Shared lock
SELECT * FROM employees WITH (HOLDLOCK) WHERE id = 1;

-- Exclusive lock
UPDATE employees SET salary = 5000 WHERE id = 1;

Также существуют блокировки на уровне строк, страниц, таблиц и баз данных. Deadlock возникает, когда две транзакции взаимно блокируют друг друга.

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

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

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

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