Lessico IT › Database › Lock timeout

Lock timeout

Database Svenska → Aggiornato: 2026-10-02

Tempo massimo che una query attende per ottenere un lock prima di annullarsi. Spesso il valore predefinito è illimitato (attende per sempre): in produzione si consigliano 5-30 secondi per evitare connessioni bloccate sotto contesa.

PostgreSQL: SET statement_timeout = '5s'. MySQL: SET lock_wait_timeout = 5. Va distinto dal rilevamento dei deadlock: questi vengono individuati e interrotti rapidamente (in meno di un secondo), mentre il lock timeout serve per la normale contesa. Nelle modifiche di schema online, ALTER TABLE richiede un lock AccessExclusive: se una query lenta lo detiene, l'ALTER resta in attesa. Con un lock timeout l'ALTER si annulla invece di bloccare tutto il resto del traffico. Buona pratica classica per le migrazioni: SET lock_timeout = '2s' più un ciclo di retry.

← Torna al lessico