您的位置:威尼斯官方网站 > 威尼斯官方网站登录 > READ)隔离级别下在第一次查询时创建read view

READ)隔离级别下在第一次查询时创建read view

发布时间:2019-11-06 21:42编辑:威尼斯官方网站登录浏览(83)

    innodb为促成MVCC所使用的中间快照,RubiconHaval(REPEATABLE READ)隔开等第下在率先次查询时成立read view,RC(READ COMMITTED)隔开分离等级下会在每一趟查询时创立read view
    以下测量试验在冠道Lacrosse隔离等第下,数据库版本为5.7.20
    1.

    session A session B
    start transaction;  
      start transaction;

    select * from tab1;
    Empty set

     
      insert into tab1 values (1,"1");

    select * from tab1;
    Empty set

     
      commit;

    select * from tab1;
    Empty set

     

    commit;

     

    select * from tab1;
    +------+------+
    | col1 | col2 |
    +------+------+
    | 1 | 1 |
    +------+------+

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    结论:在曾经查询后,其他业务做的改过,在才干务不可以知道

    2.

    session A session B
    truncate table tab1;  

    start transaction;

     
      start transaction;
      insert into tab1 values (1,"1");
      commit;

    select * from tab1;
    +------+------+
    | col1 | col2 |
    +------+------+
    | 1 | 1 |
    +------+------+

     

     

     

     

     

     

     

     

     

     

     

     

    结论:固然事务A比事务B先起来,可是首先次询问在B事务提交后,所以能够查询到结果

    3.

    session A session B
    truncate table tab1;  

    start transaction;

     
      start transaction;

    select * from tab1;
    Empty set

     
      insert into tab1 values (1,"1");
      insert into tab1 values (2,"2");
      insert into tab1 values (3,"3");
      commit;

    select * from tab1;
    Empty set

     

    update tab1 set col2 ="22" where col1>=2;

    2 rows affected

     

    select * from tab1;
    +------+------+
    | col1 | col2 |
    +------+------+
    | 2 | 22 |
    | 3 | 22 |
    +------+------+

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    结论:即便事务A看不到事务B做的改变,可是改革也会影响事务B已经交给的数额,且修正产生后,被更换的记录(就算是此外交事务情提交的),也会成为对该专门的学问可以预知

    另外:

    1.select ... for update和select ... lock in share mode(8.0是select ... for share卡塔 尔(阿拉伯语:قطر‎会重新生成read view

    2.select ... with consistent snapshot不会读到在技艺务最前后相继交给的数据,尽管第三回select是在任何专门的学业提交后

     

     

    参照他事他说加以调查网站:

    2. 

    本文由威尼斯官方网站发布于威尼斯官方网站登录,转载请注明出处:READ)隔离级别下在第一次查询时创建read view

    关键词:

上一篇:没有了

下一篇:  (1) mysql 的恢复是sql语句级的