Mysql
 sql >> Database >  >> RDS >> Mysql

Come produrre letture fantasma?

La "lettura fantasma" in MySQL a livello di isolamento RR è nascosta in profondità, ma può comunque riprodurla. Ecco i passaggi:

  1. crea la tabella ab(a int chiave primaria, b int);

  2. Tx1:
    inizio;
    seleziona * da ab; // insieme vuoto

  3. Tx2:
    inizio;
    inserisci in ab valori(1,1);
    commit;
  4. Tx1:
    seleziona * da ab; // set vuoto, lettura fantasma prevista mancante.
    aggiorna ab set b =2 dove a =1; // 1 riga interessata.
    seleziona * da ab; // 1 riga. fantasma leggi qui!!!!
    impegnarsi;