采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师想问下,真实的生产项目,mysql的线上一般用什么隔离级别? 我一直以为都是用默认的rr,但听说实际上都用rc? 为什么呢?
postgres和sql server默认都是rc。但mysql的默认是rr。
由于rr比rc要严格,而其它数据库大多采用rc,实际上的确有在mysql中使用rc的做法。
使用rc的话不是会有幻读问题吗?
会的,但隔离级别越高所花的代价也越大。比如rr解决幻读就需要在每个transaction里保留一个之前读到数据的副本。所以我们根据需求来。 一般我们开transaction,用的比较多的是他的Atomicity功能,也就是原子性。我们可能要修改几张表,确保它们数据的一致性,要么都改成功,要么都改不成功,如果只是这样的需求,不需要很高的隔离级别。 当然,默认rr也好,rc也好,每一个transaction都可以根据需求去设置自己所需要的级别。
登录后可查看更多问答,登录/注册
为面试新手量身定制的Java面试尊享课,解锁“鲤鱼跃龙门”的妙招
1.2k 4
1.0k 9
1.1k 8
1.9k 7
1.3k 6