码迷,mamicode.com
首页 > 数据库 > 详细

怎么避免mysql死锁

时间:2019-05-25 21:32:00      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:mys   需要   行记录   业务   更新   增加   锁定   选择   sql   

怎么避免mysql死锁

1、以固定的顺序访问表和行。比如两个更新数据的事务,事务A更新数据的顺序为1,2;事务B更新数据的顺序为 2 ,1;。这样更可能会造成死锁。

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

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

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

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

怎么避免mysql死锁

标签:mys   需要   行记录   业务   更新   增加   锁定   选择   sql   

原文地址:https://blog.51cto.com/14354846/2400076

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!