Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/
TaurusDB/
Preguntas frecuentes/
Rendimiento de la base de datos/
¿Qué debo hacer si los bloqueos en transacciones largas bloquean la ejecución de transacciones posteriores?
Actualización más reciente 2025-05-22 GMT+08:00
¿Qué debo hacer si los bloqueos en transacciones largas bloquean la ejecución de transacciones posteriores?
Escenario
Se informó del código de error 1205:
"MySQL error code MY-001205 (ER_LOCK_WAIT_TIMEOUT): Lock wait timeout exceeded; try restarting transaction"
Causas posibles
- Compruebe el valor de la métrica Row Lock Time. En este ejemplo, el valor de esta métrica era alto, por lo que sabemos que hubo conflictos de bloqueo en el sistema.
Para obtener más información sobre las métricas
- Inicie sesión en la instancia de base de datos y ejecute la siguiente sentencia SQL para comprobar las transacciones largas en el sistema y los bloqueos de fila que mantienen las transacciones:
select trx_mysql_thread_id, trx_id, trx_state, trx_started, trx_tables_locked, trx_rows_locked, trx_isolation_level, trx_query, trx_operation_state from information_schema.innodb_trx order by trx_started;
- information_schema.innodb_trx: información sobre las transacciones que se están ejecutando en InnoDB.
- trx_started: hora de inicio de una transacción, que se utiliza para determinar si la transacción actual es una transacción larga. El tiempo de ejecución de una transacción es el tiempo actual menos el tiempo de inicio.
- trx_state: Estado de la transacción actual. Los valores son los siguientes:
- RUNNING
- LOCK WAIT
Si el estado de una transacción es de LOCK WAIT, la transacción mantiene un bloqueo de fila.
- ROLLING BACK
- COMMITTING
Solución
Elimine las transacciones largas.
Tema principal: Rendimiento de la base de datos
Comentarios
¿Le pareció útil esta página?
Deje algún comentario
Muchas gracias por sus comentarios. Seguiremos trabajando para mejorar la documentación.
El sistema está ocupado. Vuelva a intentarlo más tarde.