♥ 3
⚡ 0
MariaDB · Lección 09

¿Cómo se gestiona la concurrencia en InnoDB y para qué sirven NOWAIT y SKIP LOCKED?

SKIP LOCKED hace que la consulta espere indefinidamente a que se liberen todas las filas bloqueadas antes de devolver resultados
InnoDB aísla con REPEATABLE READ por defecto y puede producir deadlocks que la aplicación debe reintentar; SELECT ... FOR UPDATE admite NOWAIT y, en versiones recientes (SKIP LOCKED desde la 10.6), SKIP LOCKED, útil para que varios consumidores tomen tareas de una cola sin esperarse
Un deadlock deja a las dos transacciones bloqueadas para siempre, porque InnoDB no tiene ninguna forma de detectarlo
NOWAIT permite saltarse los bloqueos y leer filas modificadas por otra transacción sin confirmar, como en READ UNCOMMITTED
MariaDB · Lección 09

Completa el código

Para saltar filas bloqueadas se usa SKIP
MariaDB · Lección 09

¿Por qué SKIP LOCKED es útil cuando varios workers toman trabajos de la misma tabla?

✓

¡Lección completada!

Concurrencia — deadlocks, NOWAIT y SKIP LOCKED

0
XP ganado
3
Vidas restantes