六. 怎么减少行锁对性能的影响

本文详细介绍了InnoDB数据库中事务的行锁机制,包括两阶段锁协议的应用及其实现方式,以及InnoDB如何处理死锁,通过等待超时或主动回滚策略确保事务的正常执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • InnDB 行锁添加和释放的时机(两阶段锁协议指的是什么?)
    • 在InnoDB事务中,行锁是在需要的时候才加上的,但并不是不需要了就立刻释放,而是要等到事务结束时才释放。这个就是两阶段锁协议。
  • 提示:
    • 如果一个事务需要锁多行,那么要把最可能造成锁冲突、最可能影响并发度的锁往后放。
  • InnoDB进入死锁后的两种处理策略是什么?
  • 一种策略是直接进入等待,直到超时,超时时间可以通过参数:innodb_lock_wait_timeout 设置,该参数默认值为50s
  • (推荐) 另一种策略是,发现死锁后,进入死锁检测,主动回滚死锁链条中的某一个事务,让其他事务得以继续执行。将参数 innodb_deadlock_detect设置为on,表示开启这个逻辑
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值