mysql的只读事务

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-1 12:24   340   0

个人对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;

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP