验证各种隔离级别
查看隔离级别: 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提交后,才查到数据