数据库记录锁的一个注意事项
来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 18:41 点击:次
这其实是个小技巧,面试的时候偶尔会问到
大概是这样,
事务1,要操作A B C 这三条记录
事务2 要操作C A D 这三条记录
业务上要求,记录要被锁住.
这里自然要处理防死锁的问题
预防的方法也简单: 顺序加锁.
也就是说,任何情况下,加锁的顺序是固定的
我们以可依据主键值来做加锁的顺序
事务1 锁记录的顺序A B C
事务2 锁记录的顺序A C D
这样就避免了死锁.
一个很简单的技巧,
但背后是程序员们试错而得到的经验.
摘自 lsccsl的专栏
大概是这样,
事务1,要操作A B C 这三条记录
事务2 要操作C A D 这三条记录
业务上要求,记录要被锁住.
这里自然要处理防死锁的问题
预防的方法也简单: 顺序加锁.
也就是说,任何情况下,加锁的顺序是固定的
我们以可依据主键值来做加锁的顺序
事务1 锁记录的顺序A B C
事务2 锁记录的顺序A C D
这样就避免了死锁.
一个很简单的技巧,
但背后是程序员们试错而得到的经验.
摘自 lsccsl的专栏
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>