Existe uma maneira de aumentar um tempo limite de bloqueio para uma única consulta, ou talvez apenas essa conexão, para não afetar todo o banco de dados?
Eu tenho uma consulta problemática que às vezes falha com tempo limite de 1 segundo.
Então pensei em algo assim:
set innodb_lock_wait_timeout=100; query; set innodb_lock_wait_timeout=1;
Mas isso se aplicaria a todo o banco de dados certo? O que eu quero é possível? Usando mariadb 10.5
innodb_lock_wait_timeout também é uma variável de sessão e global, portanto, por padrão,
SET
altera apenas a sessão.Uma maneira mais fácil de aplicar a configuração e evitar redefini-la é usando SET STATEMENT que pode ser aplicado a qualquer variável de sessão.
Então:
Como você está usando o MariaDB, talvez você queira
max_statement_time
Sugira usar o slowlog para encontrar a outra consulta que está causando o tempo limite. Então veja se você pode acelerar e/ou evitar o conflito.