本篇文章给大家带来的内容是关于mysql数据库四种事务隔离级别的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
熟悉 mysql 数据库四种事务隔离级别:
(相关推荐:MySQL教程)
查询mysql中事务隔离级别
SELECT @@tx_isolation;
read uncommitted(RU)读未提交:
一个事务中,可以读取到其他事务未提交的变更
read committed(RC)读已提交:
一个事务中,可以读取到其他事务已经提交的变更
repetable read,(RR)可重复读:
一个事务中,直到事务结束前,都可以反复读取到事务刚开始看到的数据,不会发生变化
mysql的默认隔离级别是RR
RR和RC的区别是在一个事务中RR隔离级别的读到一张表的数据都是一样
事务A | 事务B |
---|---|
begin; select * from a | |
insert into a(...) | |
select * from a |
RR隔离级别下:事务A二次select查询的结果是一样的,看不到事务B中插入的数据
RC隔离级别下:事务A第二次select查询是可以看到事务B中插入的数据
即便每次读都需要获得表级共享锁,每次写都加表级排它锁,两个会话间读写会相互阻塞。