Leitura Consistente sem Lock
Uma leitura consistente significa que o InnoDB utiliza multi-versioning para apresentar a uma consulta uma cópia do banco de dados em um dado momento. O consulta verá as mudanças feitas por aquelas transações que fizeram o commit antes daquele momento e não verá nenhuma mudança feita por transações posteriores ou que fizeram o commit. A exceção a esta regra é que a consulta verá as mudanças feitas pela transação que executar a consulta.
Se você está utilizando o nível de isolamento padrão REPEATABLE READ
, então todas as leituras consistentes dentro da mesma transação lêem a mesma cópia estabelacida pela primeira leitura naquela transação. Você pode obter uma cópia recente para sua consulta fazendo um commit da transação atual e executando uma nova consulta.
Leituras consistentes é o modo padrão no qual o InnoDB processa instruções SELECT
em níveis de isolamento READ COMMITTED
e REPEATABLE READ
. Uma leitura consistentes não configura nenhuma trava em tabelas que ela acessa e assim outros usuários estão livres para modificar estas tabelas ao mesmo tempo que uma leitura consistente esta sendo feita na tabela.