DBAtlas · Atlas de operações de banco de dados

Ver locks bloqueadores (data_lock_waits)

MySQLSessão

Comando

SELECT r.trx_id AS waiting_trx, r.trx_mysql_thread_id AS waiting_thread, LEFT(r.trx_query,80) AS waiting_query, b.trx_id AS blocking_trx, b.trx_mysql_thread_id AS blocking_thread, LEFT(b.trx_query,80) AS blocking_query FROM performance_schema.data_lock_waits w JOIN information_schema.innodb_trx r ON r.trx_id = w.requesting_engine_transaction_id JOIN information_schema.innodb_trx b ON b.trx_id = w.blocking_engine_transaction_id;

O que faz

Mostra qual transação está bloqueada por qual, com as consultas relacionadas e os IDs das threads.

Quando usar

Para diagnosticar esperas de lock e lentidões causadas por deadlocks.

Atenção

performance_schema.data_lock_waits chegou no MySQL 8.0; versões mais antigas usam information_schema.innodb_lock_waits. Para parar a thread bloqueadora, use KILL blocking_thread;.

Abrir no DBAtlas →

Relacionados