Назад к вопросам
Senior
7
Что такое SKIP LOCKED и как она работает?
Компании, где спрашивали
EXPERA
Ответ от нейросети
sobes.tech AI
SKIP LOCKED — это опция в SQL-запросах, которая используется при выборке данных с блокировкой строк (например, с помощью FOR UPDATE). Она позволяет пропускать заблокированные в данный момент строки, не ожидая их освобождения. Это полезно в сценариях параллельной обработки, когда несколько транзакций выбирают и обрабатывают данные одновременно, чтобы избежать взаимных блокировок и повысить производительность.
Пример использования в PostgreSQL:
SELECT * FROM tasks
WHERE status = 'new'
FOR UPDATE SKIP LOCKED;
В этом примере транзакция захватывает блокировку на строки с задачами со статусом "new", пропуская те, которые уже заблокированы другими транзакциями. Таким образом, разные процессы могут параллельно обрабатывать разные задачи без ожидания друг друга.