O Que É um Deadlock de Banco de Dados?
Um deadlock de banco de dados é um impasse em que duas ou mais transações aguardam cada uma por um lock mantido por outra, formando um ciclo que não consegue se resolver sozinho. O banco de dados detecta o ciclo e aborta uma transação como vítima para que as outras possam continuar. A transação abortada precisa então ser repetida pela aplicação.
Por que isso importa
Deadlocks aparecem como falhas súbitas de transação sob carga concorrente. Adquirir locks em uma ordem consistente e manter as transações curtas reduz a frequência com que ocorrem.
Guias relacionados
What Is Pessimistic Locking?Pessimistic locking takes a lock on data as soon as it is read, blocking other transactions from changing it…
What Is Optimistic Locking?Optimistic locking detects conflicting updates at commit time by checking a version field, rather than holdin…
What Is a Transaction Isolation Level?An isolation level sets how much one transaction can see of others in progress, trading consistency guarantee…