La UPDATE
se está ejecutando en transacción - es un atomic
operación, lo que significa que si una de las filas falla (debido a una restricción única, por ejemplo), no actualizará ninguna de las 5000 filas. Esta es una de las propiedades ACID de una base de datos transaccional.
Debido a esto, el UPDATE
mantenga un bloqueo en todas las filas para toda la transacción. De lo contrario, otra transacción puede actualizar aún más el valor de una fila, en función de su valor actual (digamos, actualizar registros establecer valor =valor * '2'). Esta declaración debería producir un resultado diferente dependiendo de si la primera transacción se confirma o retrocede. Debido a esto, debe esperar a que la primera transacción complete las 5000 actualizaciones.
Si desea liberar los bloqueos, simplemente realice la actualización en lotes (más pequeños).
PD autocommit
controla si cada declaración se emite en una transacción propia, pero no afecta la ejecución de una sola consulta