首页  >  文章  >  数据库  >  怎么样避免mysql死锁

怎么样避免mysql死锁

青灯夜游
青灯夜游原创
2019-05-22 18:29:228376浏览

避免mysql死锁的方法:1、以固定的顺序访问表和行;2、大事务更倾向于死锁,如果业务允许,将大事务拆小;3、在同一个事务中,尽可能做到一次锁定所需要的所有资源,减少死锁概率;4、降低隔离级别;5、为表添加合理的索引。

怎么样避免mysql死锁

如何尽可能避免死锁:

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

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

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

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

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

以上是怎么样避免mysql死锁的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn