IT-словарь › Базы данных › Таймаут блокировки

Таймаут блокировки

Базы данных Svenska → Обновлено: 2026-10-18

Максимальное время, которое запрос ждёт блокировку, прежде чем отказаться; по умолчанию ожидание часто бесконечное.

В продакшене рекомендуют 5–30 секунд, чтобы соединения не зависали при конкуренции. PostgreSQL: SET statement_timeout = '5s'; MySQL: SET lock_wait_timeout = 5. Это не то же самое, что обнаружение взаимных блокировок: дедлоки находятся и прерываются за доли секунды, а таймаут нужен для обычной конкуренции. Особенно важен при миграциях: ALTER TABLE требует AccessExclusive, и если долгий запрос держит блокировку, ALTER ждёт — а за ним встаёт весь остальной трафик. С таймаутом ALTER просто отменится. Классическая практика: SET lock_timeout = '2s' плюс цикл повторных попыток.

← Назад к словарю