社区
Oracle
帖子详情
事务并发,如何解决第二类更新丢失?
济南大飞哥
2019-01-11 09:13:57
如果事务比较小,比如只更新一个资源,那么可以先锁住这个资源再操作;但是如果是个大事务,操作的资源比较多,只能锁住多个资源(因为你不知道哪个资源会同时被其他事务修改),这时如果有其他事务也要而且同时锁定部分或者全部的前个事务的资源,但是锁定顺序不同,就非常容易死锁。so,如何彻底解决第二类更新丢失?不要不加思索,告诉我一个隔离级别就能搞定,我告诉你,除了串行,什么隔离级别都不好使。
...全文
637
3
打赏
收藏
事务并发,如何解决第二类更新丢失?
如果事务比较小,比如只更新一个资源,那么可以先锁住这个资源再操作;但是如果是个大事务,操作的资源比较多,只能锁住多个资源(因为你不知道哪个资源会同时被其他事务修改),这时如果有其他事务也要而且同时锁定部分或者全部的前个事务的资源,但是锁定顺序不同,就非常容易死锁。so,如何彻底解决第二类更新丢失?不要不加思索,告诉我一个隔离级别就能搞定,我告诉你,除了串行,什么隔离级别都不好使。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
济南大飞哥
2019-01-15
打赏
举报
回复
引用 2 楼 nayi_224 的回复:
在执行那一大串语句前,锁一个专门用来标记的其他资源,全部执行完后,解开这个锁。
我也想到了这个办法,就是锁细化,逻辑化。但是感觉系统比较复杂代码比较多的时候,一处逻辑这么做, 另一个有资源冲突的不这么做,或者锁了其他资源,就又悲剧了。最主要是你开发一个新功能不知道可能跟谁有冲突, 如果一开始没定下一个统一的开发流程,很难完全规避死锁,只能遇到一个,解决一个。最近系统诡异的出现了几次死锁。
nayi_224
2019-01-15
打赏
举报
回复
在执行那一大串语句前,锁一个专门用来标记的其他资源,全部执行完后,解开这个锁。
济南大飞哥
2019-01-14
打赏
举报
回复
无人?无人?无人?
MySQL
事务
和锁
#
事务
是什么 特性:原子性、一致性、隔离性和持久性 类型:自动提交
事务
(default)、隐式
事务
、显式
事务
和分布式
事务
事务
并发
带来的若干问题:脏读、不可重复读、幻象读和
丢失
更新
事务
隔离级别:避免上述问题 # ...
第一类
丢失
更新
和
第二类
丢失
更新
是什么 区别
第一类
丢失
更新
撤销一个
事务
的时候,把其它
事务
已提交的
更新
数据覆盖了。这是完全没有
事务
隔离级别造成的。如果
事务
1被提交,另一个
事务
被撤销,那么会连同
事务
1所做的
更新
也被撤销。
第二类
丢失
更新
它和不可重复读本质上是同一类
并发
问题,通常将它看成不可重复读的特例。当两个或多个
事务
查询相同的记录,然后各自基于查询的结果
更新
记录时会造成
第二类
丢失
更新
问题。每个
事务
不知道其它
事务
的存在,最后一个
事务
对记录所做的更改将覆盖其它
事务
之前对该记录所做的更改。 作者:西安法律咨询服务平台与程序员 链接:h
mysql加强(7)~
事务
、
事务
并发
、
解决
事务
并发
的方法
mysql加强(7)~
事务
、
事务
并发
、
解决
事务
并发
的方法
mysql
第二类
更新
丢失
_myslq的
更新
丢失
实例
更新
丢失
,顾名思义,update执行后不生效,为啥不生效,因为update执行的效果丢了。什么情况下会发生
更新
丢失
,在两个
事务
并发
更新
时,
事务
A的
更新
被
事务
B的
更新
覆盖,这叫第一类
更新
丢失
;
事务
A执行
更新
,
事务
B执行
更新
后回滚,
事务
A的
更新
被
事务
B的回滚覆盖,这叫
第二类
更新
丢失
。什么时候会发生
更新
丢失
?没有启用
事务
隔离级别的时候,也就是不支持
事务
的存储引擎,如MyISam。但反过来,都没有
事务
了,...
并发
事务
导致的
丢失
更新
及处理方式详解
并发
事务
导致的
丢失
更新
及处理方式详解前言
丢失
更新
的定义
丢失
更新
产生的原因(两种)回滚
丢失
(Lost update)覆盖
丢失
/两次
更新
问题(Second lost update)
丢失
更新
处理方式数据库的锁通过数据库的锁机制
解决
丢失
更新
悲观锁乐观锁总结 前言 在
事务
的隔离级别内容中,能够了解到两个不同的
事务
在
并发
的时候可能会发生数据的影响。细心的话可以发现
事务
隔离级别章节中,脏读、不可重复读、幻读三个...
Oracle
17,089
社区成员
55,237
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章