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

Como produzir leituras fantasmas?


A "leitura fantasma" no MySQL no nível de isolamento RR está oculta profundamente, mas ainda pode reproduzi-la. Aqui estão os passos:


  1. criar tabela ab(a int chave primária, b int);

  2. Tx1:
    começar;
    selecione * de ab; //conjunto vazio
  3. Tx2:
    começar;
    inserir em valores ab(1,1);
    commit;
  4. Tx1:
    selecione * de ab; // conjunto vazio, leitura fantasma esperada ausente.
    atualize ab set b =2 onde a =1; // 1 linha afetada.
    selecione * de ab; // 1 linha. leia fantasma aqui!!!!
    comprometer;