自学内容网 自学内容网

千云物流 -低代码平台MySQL事务分析

事务隔离级别

事务隔离级别一句话记住脏读不可重复读幻读
读未提交YYY
不可重复读读的读的就变了NYY
可重复读读什么就是什么NNY
串行化NNN

MySQL默认隔离级别是可重复读

select @@global.tx_isolation
select @@session.tx_isolation
select @@tx_isolation

简单测试说明,准备环境

create table test (id int primary key,name varchar(30),memo varchar (30));
insert into test values(1,'name1','aaaa'),(2,'name2','aaaa'),(3,'name3','aaaa'),(4,'name4','aaaa'),(5,'name5','aaaa');

不可重复读 Read-Committed

窗口1

begin;
select * from test;

窗口2

begin;
update test set name ='aaaaa' where id =2;
commit;

窗口1

begin;
-- 重复执行查询到的数据变化了
select * from test;

可重复读 Repeatable-Read

set global transaction isolation level repeeatable read;

窗口1

begin;
select * from test;

窗口2

begin;
update test set name ='RR_test'
commit;

窗口1

begin;
-- 重复执行查询到的数据一直不会变
select * from test;
commit;
-- 查询到的数据发生了变化,实际没有有有有有有有有有有有有有有有有由于进行dml操作
select * from test;

可重复读 Read-Uncommitted

可重复读 Serializable


原文地址:https://blog.csdn.net/u013642886/article/details/142372295

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!