java - 数据库事务隔离级别的选择
高洛峰
高洛峰 2017-04-17 16:33:31
[Java讨论组]

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
天蓬老师

请使用MySQL 默认的RR. 在MySQL 官方手册中有极其详细的对隔离级别的说明。

大家讲道理

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号