关于select for update当前读的问题

来源:2-6 Mysql悲观锁特性如何解决并发问题?

10000h丶

2023-11-06

请问一下,老师的mysql隔离级别是RR是吗?
这样的话,在同一个事物中,select和select for update读到的数据确实可能不一致(另一个事务中修改了),但是如果是RC隔离级别的话, 这两种select语句查询到的数据就一致了吧?
还有一个问题就是,读未提交,读已提交,可重复读这三种隔离级别的使用场景一般都是什么啊

写回答

1回答

Er十七

2023-11-06

同学,你好。第一点,对于读已提交这个事务隔离级别,是会出现select和select for update读取到的数据是一致的,因为当其他事务提交后,就可以被当前事务读取到了。那对于不同的隔离级别,每种的作用大家都知道,使用场景呢,首先读未提交,这种事务隔离级别呢,会出现脏读,其实这种隔离级别基本上是不会被使用到,工作中我们也是禁止设置这种级别。读已提交这种隔离级别,对于一些对数据一致性没有那么高要求的场景可以使用,比如日志,报表这种。那可重复读这种隔离级别使用场景就很多了,数据一致性要求比较高的可以使用,也是普遍业务场景中使用到的。串行化这个级别也不推荐使用,对于更严格的数据一致性,可以在业务上,通过锁机制来保证。

1
2
Er十七
回复
10000h丶
😃😃😃
2023-11-06
共2条回复

Java主流分布式解决方案多场景设计与实战

本课程是一门关于分布式系统下常见的解决方案的课程

178 学习 · 49 问题

查看课程