验证各种隔离级别

查看隔离级别: select @@tx_isolation

验证:read uncommitted

    set global transaction isolation level read uncommitted

    事务A                                事务B

  use bjpowernode;      use bjpowernode;

  start transaction;      start transaction;

   select * from t_user;    insert into t_user values(‘zhangsan’);

  select* from t_user;//可以查到事务B未提交的数据

 

验证:read committed

    set global transaction isolation level read committed

    事务A                                事务B

  use bjpowernode;      use bjpowernode;

  start transaction;      start transaction;

   select * from t_user;    insert into t_user values(‘zhangsan’);

  select * from t_user;             committ;

  select* from t_user;//可以查到事务B提交的数据

  

验证:repeatable read

    set global transaction isolation level repeatable read

    事务A                                事务B

  use bjpowernode;      use bjpowernode;

  start transaction;      start transaction;

   select * from t_user;    insert into t_user values(‘zhangsan’);

                insert into t_user values(‘lisi’);   

  select* from t_user;     committ;

  select* from t_user;//读取的还是开启事务时的数据

 

验证:serializable

    set global transaction isolation level serializable;

    事务A                                  事务B

  use bjpowernode;        use bjpowernode;

  start transaction;        start transaction;

   select * from t_user;    

 insert into t_user values(‘zhangsan’);      

  select* from t_user;        select* from t_user;

 

 

 committed;            _

只要事务A不提交 事务B光标就会如图闪烁,等到事务A提交后,才查到数据

posted @ 2022-01-23 18:02  doremi429  阅读(66)  评论(0)    收藏  举报