Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/
TaurusDB/
Perguntas frequentes/
Desempenho do banco de dados/
O que devo fazer se os bloqueios em transações longas bloquearem a execução de transações subsequentes?
Atualizado em 2025-02-07 GMT+08:00
O que devo fazer se os bloqueios em transações longas bloquearem a execução de transações subsequentes?
Cenário
Foi relatado o código de erro 1205:
"MySQL error code MY-001205 (ER_LOCK_WAIT_TIMEOUT): Lock wait timeout exceeded; try restarting transaction"
Possíveis causas
- Verifique o valor da métrica de monitoramento Row Lock Time. Neste exemplo, o valor dessa métrica era alto, portanto sabemos que havia conflitos de bloqueio no sistema.
Para obter detalhes sobre métricas de monitoramento, consulte Visualização de métricas de monitoramento de instâncias.
- Faça logon na instância de banco de dados e execute a seguinte instrução SQL para verificar as transações longas no sistema e os bloqueios de linha mantidos pelas transações:
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: informações sobre transações que estão sendo executadas no InnoDB.
- trx_started: hora de início de uma transação, que é usada para determinar se a transação atual é uma transação longa. O tempo de execução de uma transação é a hora atual menos a hora de início.
- trx_state: status da transação atual. Os valores são os seguintes:
- RUNNING
- LOCK WAIT
Se o status de uma transação for LOCK WAIT, a transação manterá um bloqueio de linha.
- ROLLING BACK
- COMMITTING
Solução
Elimine as transações longas.
Tópico principal: Desempenho do banco de dados
Feedback
Esta página foi útil?
Deixar um comentário
Obrigado por seus comentários. Estamos trabalhando para melhorar a documentação.
O sistema está ocupado. Tente novamente mais tarde.