Defina “lock wait timeout” no MySQL


13

Onde eu definiria o tempo máximo que uma consulta aguardaria por um bloqueio no MySQL 5.0.68 antes de atingir o tempo limite?

Respostas:


6

Outras configurações de tempo limite que são gerais (não apenas para bloqueios, pois innodb_lock_wait_timeout se aplica apenas aos bloqueios de linha do InnoDB) seriam wait_timeout e interactive_timeout (ambos padrão para 28.800)



1

Se você atingir o tempo limite de 50 segundos do InnoDB, terá um aplicativo mal projetado!

Esse tempo limite existe para capturar coisas impertinentes que não podem ser capturadas de outra maneira.


1
Ou devido a erros, eu tenho um servidor mysql e mariadb extremamente ocupado e os deadlocks são uma coisa normal que acontece o tempo todo. Mesmo que seja "impossível". Se você possui cem milhões de linhas e dez milhares de comandos sql a cada segundo, encontrará todo tipo de bug no mysql (falhas), além de deadlocks de vários tipos.
John

1
Depende da situação. Nos documentos do mysql: Você pode diminuir esse valor para aplicativos altamente interativos ou sistemas OLTP, para exibir rapidamente o feedback do usuário ou colocar a atualização em uma fila para processamento posterior. Você pode aumentar esse valor para operações de backend de longa execução, como uma etapa de transformação em um data warehouse que aguarda a conclusão de outras operações grandes de inserção ou atualização.
G4b0 5/09/19

Verificando se o aplicativo está mal construído ... sim!
Noah Duncan
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.