数据库记录锁的一个注意事项

来源:互联网 发布:听歌软件版权 编辑:程序博客网 时间:2024/06/05 21:15

这其实是个小技巧,面试的时候偶尔会问到

大概是这样,

事务1,要操作 A B C 这三条记录

事务2 要操作 C A D 这三条记录

业务上要求,记录要被锁住.

这里自然要处理防死锁的问题


预防的方法也简单: 顺序加锁.

也就是说,任何情况下,加锁的顺序是固定的

我们以可依据主键值来做加锁的顺序


事务1 锁记录的顺序 A B C

事务2 锁记录的顺序 A C D


这样就避免了死锁.

一个很简单的技巧,

但背后是程序员们试错而得到的经验.

原创粉丝点击