如何避免死锁检测

如何避免死锁检测

  1. 如果确保我们的业务需求不会造成死锁检测,我们可以把死锁检测暂时关闭,但这存在一定的风险(存在死锁检测的时候如果出现死锁,根据undolog会可以回滚使数据恢复正常,但是如果把死锁检测关闭,当真正出现死锁的时候,就会一直等待到超时时间)
  2. 控制并发度:比如控制某一行同时最多有10个线程在更新,那么死锁检测的成本就很低,大大减少了死锁检测所带来的性能损失。但是在客户端控制并发访问不行,因为假设你控制一个客户端最多只有5个并发访问线程,但如果客户端的数量达到600个,那就会有3000个并发访问数量,还是会导致死锁检测所带来的性能损失。所以我们应该在数据库服务端控制,可以使用中间件或者修改mysql源码,通过排队来控制并发访问量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C_x_330

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值