Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

operação delete bloqueia a tabela inteira no innodb


Em primeiro lugar, supondo que id seja uma chave primária ou pelo menos uma coluna indexada.

A inserção não deve bloquear a tabela, portanto, é provável que qualquer outra consulta de atualização/exclusão esteja sendo executada ao mesmo tempo da exclusão dos registros.

Se não for o caso, pode ser devido ao "bloqueio de lacunas", conforme mencionado @a_horse_with_no_name.

Então, quando você tiver esse problema novamente, precisará armazenar todos os processos "mostrar lista de processos completa" no seu final e também verificar "mostrar status do innodb do mecanismo", onde ele mostrará os processids relacionados ao impasse, isso ajudará você a obter dados exatos problema.

Além disso, você pode evitar esse bloqueio para excluir todas as linhas uma a uma com base na chave primária.