数据库总是死锁(如何尽可能避免数据库执行语句死锁)

时间:2023-02-02 19:37:02来源:本站整理作者:点击:

数据库总是死锁?1)以固定的顺序访问表和行比如两个job批量更新的情形,简单方法是对id列表先排序,后执行,这样就避免了交叉等待锁的情形;又比如将两个事务的sql顺序调整为一致,也能避免死锁,下面我们就来聊聊关于数据库总是死锁?接下来我们就一起去了解一下吧!

数据库总是死锁(如何尽可能避免数据库执行语句死锁)

数据库总是死锁

1)以固定的顺序访问表和行。比如两个job批量更新的情形,简单方法是对id列表先排序,后执行,这样就避免了交叉等待锁的情形;又比如将两个事务的sql顺序调整为一致,也能避免死锁。

2)大事务拆小。大事务更倾向于死锁,如果业务允许,将大事务拆小。

3)在同一个事务中,尽可能做到一次锁定所需要的所有资源,减少死锁概率。

4)降低隔离级别。如果业务允许,将隔离级别调低也是较好的选择,比如将隔离级别从RR调整为RC,可以避免掉很多因为gap锁造成的死锁。

5)为表添加合理的索引。可以看到如果不走索引将会为表的每一行记录添加上锁,死锁的概率大大增大。

,
最新文章
儿童视频
推荐文章

关于妃孕岛

Copyright 2022-2026 feiyundao.com 〖妃孕岛〗 版权所有 备案号 :陕ICP备2022000637号-3

声明: 本站文章均来自互联网,不代表本站观点 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告