首先感谢进来看的各位,然后有几个问题请教大家(¯﹃¯)1.为什么ORACLE只支持READ COMMITTED和SERIALIZABLE(Repeatable Read有严重的缺点?)2.大部分数据库的默认级别都是READ COMMITTED为什么mysql却选择Repeatable Read3.大家使用spring的话使用的是哪种事务管理方式?为什么要采用这种方式?4.如何根据业务确定应该采用那种级别的隔离级别
2 回答

湖上湖
TA贡献2003条经验 获得超2个赞
这个问题好大啊。
目前说的四种隔离级别是SQL92标准,各个数据库的具体实现不同导致了默认和推荐的隔离级别不同,毕竟现在的数据库都是MVCC实现的,早已不是传统的锁模型了。目前所谓的四种隔离级别其实是对历史SQL标准的妥协,例如Mysql的Repeatable Read其实是Snapshot Isolation,它不允许幻读而且并发下需要用户自己加锁。
具体用什么,每种隔离级别能做到什么,请看官方手册,不要看教科书或者百度的东西。相信看完你也差不多知道要用哪个了。
添加回答
举报
0/150
提交
取消