zoukankan      html  css  js  c++  java
  • 解释和演示一下何为“事务的不可重复读”/“幻影读”

    不可重复读(幻影现象)可重复读

      MySQL默认情况下是可重复读,解决了幻影问题

        mysql> show variables like ‘%tx%’;

        +-----------------------+--------------------------+

        | Variables_name |  Value          |

        +------------------------+--------------------------+

        | tx_isolation     |REPEATABLE-READ |

        | tx_read_only    | OFF            |

        +------------------------+---------------------------+

      改成 read-committed(已提交读)后,出现幻影读

        mysql> set @@session.tx_isolation = 'READ-COMMITTED';

        Query OK, 0 rows affected (0.00 sec)

    演示幻影读:

      A:设置隔离级别为已提交读:

        mysql> set @@session.tx_isolation = 'READ-COMMITTED';

        Query OK, 0 rows affected (0.00 sec)

      对这4行数据加了锁:对表加is锁,对4行加x行锁,事务没有提交

        mysql> select * from t2 where name=abcfor uodate;

        +------+---------+

        |id  | name |

        +------+---------+

        |1  | ABC |

        |3  |abc |

        |8  |ABC |

        |10 |abc |

        +------+---------+

        4 rows in set (0.01 sec)

      B:设置隔离级别为已提交读:

        mysql> set @@session.tx_isolation = 'READ-COMMITTED';

        Query OK, 0 rows affected (0.00 sec)

      对t2表插入 name abc 的数据,成功了:

        mysql> insert into t2(name) values(‘abc’);

      A:再去执行,发现成了5nameabc的数据:

        mysql> select * from t2 where name=abcfor uodate;

        +------+---------+

        |id  | name |

        +------+---------+

        |1  | ABC  |

        |3  |abc   |

        |8  |ABC  |

        |10 |abc   |

        |16| abc   |

        +------+---------+

        4 rows in set (0.01 sec)

      一会4行,一会5行,如果把这个参数设置成已提交读,就出现了幻影现象。

  • 相关阅读:
    nohup: failed to run command `java': No such file or directory
    HDU4845(SummerTrainingDay02-C 状态压缩bfs)
    Codeforces731C(SummerTrainingDay06-M 并查集)
    Codeforces485D(SummerTrainingDay01-K)
    POJ2227(优先队列)
    Codeforces833A
    HDU3534(SummerTrainingDay13-C tree dp)
    Codeforces687C(SummerTrainingDay03-D DP)
    POJ1811(SummerTrainingDay04-G miller-rabin判断素性 && pollard-rho分解质因数)
    HDU6113
  • 原文地址:https://www.cnblogs.com/5945yang/p/11346468.html
Copyright © 2011-2022 走看看