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

Rastreie erros não determinísticos do MySQL em Perl


Supondo que seu banco de dados esteja sendo executado com as configurações padrão, estou mais surpreso que seu SELECT sempre retorna dois valores diferentes.

A documentação diz isso

Então, se o padrão REPEATABLE READ Se o nível de isolamento estiver em vigor, eu esperaria que todas as consultas retornassem dados consistentes com o estado do banco de dados no momento da primeira consulta.

No entanto, parece que isso pode ajudar

Eu acho que você deveria tentar
$O_dbh->do('SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED');

imediatamente após a conexão e veja se isso resolve as coisas para você.

No entanto, você deve certificar-se de disconnect o identificador do banco de dados após essa transação ou retorne-o ao nível de isolamento anterior. Caso contrário, você começará a obter resultados inconsistentes.