Eu sei que quando executo o dml sql antes do commit, o innodb gravará o resultado no cache da página innodb que pode liberar a página de dados e gravar no arquivo de log de desfazer; mas ao mesmo tempo, o mysql trava e reinicia, como o mysql innodb qual transação deve reverter?
relate perguntas
-
Existem ferramentas de benchmarking do MySQL? [fechado]
-
Onde posso encontrar o log lento do mysql?
-
Como posso otimizar um mysqldump de um banco de dados grande?
-
Quando é o momento certo para usar o MariaDB em vez do MySQL e por quê?
-
Como um grupo pode rastrear alterações no esquema do banco de dados?
Isso é tudo sobre o diário. A gravação é realizada em três etapas. Primeiro, todas as alterações são gravadas junto com os dados antigos, todas as referências são revinculadas aos novos valores e, se esses dois estágios forem aprovados, toda a transação será marcada como confirmada, todos os links antigos serão removidos e a entrada no diário será removida. Se o mecanismo na inicialização encontrar algumas transações não confirmadas no diário, todas as alterações relacionadas serão revertidas para o estado inicial.