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/
GaussDB(for MySQL)/
Preguntas frecuentes/
Rendimiento de bases de datos/
¿Qué debo hacer si los bloqueos en transacciones largas bloquean la ejecución de transacciones posteriores?
Actualización más reciente 2023-12-14 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 del Row Lock Time de la métrica de monitorización. 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 de monitoreo, consulte Consulta de métricas de monitoreo de instancias.
- 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 bases 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.