mysql的只读事务

个人对mysql的只读事务理解


1. 开启方式

start transaction read only

select * from ....

select * from ....

commit;

2. 开启只读事务模式之后,事务期间任何insert或者update都是不允许的

3. 那么问题来了 ,这个和不开事务有什么区别?

区别还是有的,如果使用的是默认的事务隔离级别“可重复读(rr:reaptable read)”,那么在只读事务开启后,如果重复读取某表数据,那么结果是一致的,并不会受到事务外其他数据的提交影响

比如:

# user表中有 张三、李四 两条记录

# session 1
start transaction read only;
select * from user; # 得到2条记录

# ======= session 2 ========
insert into user ('王五');
# ==========================

select * from user; # 依然得到张三、李四
commit;

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值