2 wesker0918 wesker0918 于 2016.01.26 16:06 提问

什么样的项目,什么样的情况下需要手动设置事物传播行为?隔离级别?锁? 1C

一直有这个疑惑,到底什么样高并发的项目或者什么操作需要手动设置事物传播行为?隔离级别?锁?
请解惑,谢谢
我的理解是对于大部分的并发项目默认的隔离级别就够用了.事务隔离级别是粗粒度的,锁是细粒度的,不知道这样想对不对?
如果项目的并发再复杂,默认级别不够用了,是再调节隔离级别还是直接调节锁?

2个回答

caozhy
caozhy   Ds   Rxr 2016.01.27 08:00

跨程序并发,跨数据库事务,优化性能、群集等等场合。

wesker0918
wesker0918 如果我用 spring 默认的隔离级别,数据库是 MySQL,那么就是Repeatable Read,这样能否够用?毕竟太高的级别会影响性能?
接近 2 年之前 回复
wanghan1977
wanghan1977   2016.01.29 10:24

使用锁会极大地增加代码的复杂度,同时造成隐患,因此除非绝对必要,不要使用。
应该从数据结构的设计角度实现事务隔离
在业务场景还不需要考虑隔离的情况下,不需要过度关注隔离与锁,等到发现问题后再对问题部分数据结构重新设计,重构才是正解

wesker0918
wesker0918 好的,谢谢
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片