Estamos creando un sistema altamente transaccional con MySQL como DB (motor innodb). Tenemos un activador de inserción y actualización en la tabla t1 que está actualizando la tabla t2 y t3. Hemos observado que cada vez que el volumen de usuarios concurrentes es alto, obtenemos un bloqueo en la tabla t1. Estamos asumiendo que el activador está emitiendo un bloqueo de tabla hasta que esté completando su ejecución. Soltamos el gatillo en t1 y sorprendentemente ya no hay punto muerto.Disparadores en un sistema altamente transaccional
Mi pregunta:
- ¿No es recomendable tener el gatillo en un sistema altamente transaccional
- Si no desencadenan ¿cuáles son las otras opciones para poner en práctica la misma lógica.
La tabla t1 tiene aproximadamente 70,000 filas y aumenta cada día.
Apreciar cualquier entrada.
Gracias de antemano.
No proporcionó suficiente información. La emisión de 'SHOW ENGINE INNODB STATUS' le mostrará la causa del punto muerto. 70k row realmente no es nada, lo que debes hacer (si quieres ayuda) es publicar la consulta en cuestión, la estructura de la tabla y el activador. Puede reemplazar los nombres de campo reales con letras para que no se revele la lógica de negocios. –