怎么样避免mysql死锁


本文摘自PHP中文网,作者青灯夜游,侵删。

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

如何尽可能避免死锁:

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

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

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

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

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

以上就是怎么样避免mysql死锁的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

压缩包版mysql怎么卸载

mysql必知必会》怎么样

mysql中关于不用结尾符号也能够执行的语句的总结

mysql服务器主从数据库同步配置的方法详解

mysql的事务隔离级别的详细介绍(附代码)

mysql深度分页(千万级数据量如何快速分页)

mysql中关于冗余和重复索引

怎么修改mysql启动目录?

如何查看mysql的版本?

mysql如何新建权限设置密码

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    暂无评论...